データを項目別のシートに分ける
データをA列の商品名ごとに各シートに分けます。
ChatGPTで作成したVBAコード
Sub CreateSheetsAndFilterData() ' データシートを設定 Dim wsData As Worksheet Set wsData = ThisWorkbook.Sheets("データ") ' データ範囲を取得 Dim rngData As Range Set rngData = wsData.Range("A1").CurrentRegion ' A列の値を一意に取得 Dim colValues As Collection Set colValues = New Collection Dim cell As Range On Error Resume Next For Each cell In rngData.Columns(1).Cells If cell.Row > 1 Then ' ヘッダー行をスキップ colValues.Add cell.Value, CStr(cell.Value) End If Next cell On Error GoTo 0 ' 新しいシートを作成し、フィルター結果を貼り付ける Dim value As Variant For Each value In colValues ' 新しいシートを作成 Dim wsNew As Worksheet Set wsNew = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) wsNew.Name = CStr(value) ' フィルターを適用 rngData.AutoFilter Field:=1, Criteria1:=CStr(value) ' フィルター結果を新しいシートにコピー rngData.SpecialCells(xlCellTypeVisible).Copy Destination:=wsNew.Range("A1") Next value ' フィルターを解除 wsData.AutoFilterMode = False End Sub
上のコードを作成するChatGPTのプロンプト
下記のVBAコードを、日本語のコメントをいれて作成してください。 処理対象:「データ」シートのA1セルからC1セルを見出しとする表。 処理1:A列の値ごとに新しいシートを作成し、その値をシート名とする。 処理2:新しいシートのシート名で、A列の値をフィルターし、その結果を、そのシートのA1セルに貼り付ける。 処理3:最後に表のフィルターを解除する。
ChatGPTで作成しました
無料のChatGPT(Microsoft Copilot)で作成しました。
30年前の私は、必要なVBAコードの完成に6か月かかりました。しかしChatGPTを使えば、初心者でもわずか5分でコードを作成できます。
上記のChatGPTのシートやセルを変更して、あなたのVBAコードを作成してください。
VBAコードは、期待通りに動作し、エラーが発生しないかを必ずテストしてください。
知りたいことやエラー修正は、ChatGPT(Microsoft Copilot)がダイレクトにお答えします。