カンマ区切りの文字列を、複数セルに分割し、上書きする
一つのセルに複数の都道府県名が「、」で区切られた表を、各セルに一つ都道府県名がある表に変換する。
ChatGPTで作成したVBAコード
Sub ProcessData() ' Sheet1のA列のセルを処理対象とする Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") ' データはA2セルから始まる Dim rng As Range Set rng = ws.Range("A2:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row) ' 処理1:処理対象の値を「、」区切りで1つの文字列に結合する Dim cell As Range Dim combinedString As String For Each cell In rng If cell.Value <> "" Then combinedString = combinedString & cell.Value & "、" End If Next cell ' 末尾の「、」を削除 If Len(combinedString) > 0 Then combinedString = Left(combinedString, Len(combinedString) - 1) End If ' 処理2:結合した値を配列に格納する Dim dataArray() As String dataArray = Split(combinedString, "、") ' 処理3:A2セルから下方向の値を削除する rng.ClearContents ' 処理4:配列を分割し、A2セルから下方向に貼り付ける Dim i As Long For i = LBound(dataArray) To UBound(dataArray) ws.Cells(i + 2, 1).Value = dataArray(i) Next i End Sub
上のコードを作成するChatGPTのプロンプト
下記のVBAコードを、日本語のコメントをいれて作成してください。 処理対象:「Sheet1」シートのA列のセル。データはA2セルから始まる。 処理1:処理対象の値を「、」区切りで1つの文字列に結合する。 処理2:結合した値を配列に格納する。 処理3:A2セルから下方向の値を削除する。 処理4;配列を分割し、A2セルから下方向に貼り付ける。
ChatGPTで作成しました
無料のChatGPT(Microsoft Copilot)で作成しました。
30年前の私は、必要なVBAコードの完成に6か月かかりました。しかしChatGPTを使えば、初心者でもわずか5分でコードを作成できます。
上記のChatGPTのシートやセルを変更して、あなたのVBAコードを作成してください。
VBAコードは、期待通りに動作し、エラーが発生しないかを必ずテストしてください。
知りたいことやエラー修正は、ChatGPT(Microsoft Copilot)がダイレクトにお答えします。