即座にエクセル作業を自動化する無料アプリ

AIで自分の価値を高める方法とは🙄

MENU

【VBAとChatGPT入門】データを項目別のシートに分ける

データを項目別のシートに分ける

データを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セルを見出しとする表。
処理1A列の値ごとに新しいシートを作成し、その値をシート名とする。
処理2:新しいシートのシート名で、A列の値をフィルターし、その結果を、そのシートのA1セルに貼り付ける。
処理3:最後に表のフィルターを解除する。

 

ChatGPTで作成しました

無料のChatGPT(Microsoft Copilot)で作成しました。

30年前の私は、必要なVBAコードの完成に6か月かかりました。しかしChatGPTを使えば、初心者でもわずか5分でコードを作成できます。

上記のChatGPTのシートやセルを変更して、あなたのVBAコードを作成してください。

VBAコードは、期待通りに動作し、エラーが発生しないかを必ずテストしてください。

知りたいことやエラー修正は、ChatGPT(Microsoft Copilot)がダイレクトにお答えします。