ChatGPTとVBAを使って、複数のExcelシートに分かれたデータを1つのシートにまとめる方法を解説します。Excelのデータ処理にお悩みの方は、ぜひ参考にしてみてください!
ChatGPTで実演したときの様子をチェック👇✨
動画ではブログで紹介しきれなかった応用方法もご紹介しています。
ChatGPTにプロンプト入力
ChatGPTにお願いしたいことを入力します。
画面更新をオフにすることで、処理の高速化になります。
ChatGPTが出力したVBAコード
コードとコメントは すべてChatGPTが出力した内容です。
Sub CopyDataToSummarySheet()
' 変数の宣言
Dim summarySheet As Worksheet
Dim sourceSheet1 As Worksheet
Dim sourceSheet2 As Worksheet
Dim sourceSheet3 As Worksheet
Dim lastRow1 As Long
Dim lastRow2 As Long
Dim lastRow3 As Long
Dim i As Long
Dim j As Long
' 画面の更新をオフにする
Application.ScreenUpdating = False
' シートの取得
Set summarySheet = ThisWorkbook.Sheets("まとめ")
Set sourceSheet1 = ThisWorkbook.Sheets("Sheet1")
Set sourceSheet2 = ThisWorkbook.Sheets("Sheet2")
Set sourceSheet3 = ThisWorkbook.Sheets("Sheet3")
' Sheet1からデータを転記
lastRow1 = sourceSheet1.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow1
For j = 1 To 5
summarySheet.Cells(i - 1, j).Value = sourceSheet1.Cells(i, j).Value
Next j
Next i
' Sheet2からデータを転記
lastRow2 = sourceSheet2.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow2
For j = 1 To 5
summarySheet.Cells(lastRow1 + i - 1, j).Value = sourceSheet2.Cells(i, j).Value
Next j
Next i
' Sheet3からデータを転記
lastRow3 = sourceSheet3.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow3
For j = 1 To 5
summarySheet.Cells(lastRow1 + lastRow2 + i - 1, j).Value = sourceSheet3.Cells(i, j).Value
Next j
Next i
' 画面の更新をオンにする
Application.ScreenUpdating = True
End Sub
マクロ実行前
「Sheet1」「Sheet2」「Sheet3」は、A~E列までデータが入っています。
最終行はシートによって異なります。
マクロ実行後
「Sheet1」「Sheet2」「Sheet3」のA~E列のデータを、
「まとめ」シートにすべて転記します。
ChatGPTのすごさを実感しました🥰
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】別シート転記を自動処理する方法まとめ
ChatGPT×VBA 文字検索ツールを爆速作成する 動画あり
...
「先読み!IT×ビジネス講座 ChatGPT 対話型AIが生み出す未来」
ChatGPTができること・できないこと、ChatGPTを使う上での基本的な考え方を簡潔に説明
ビジネス活用の実例や、これからのAIとの付き合い方がわかる!
リンク