ChatGPTとVBAを使って、複数のExcelシートに分かれたデータを1つのシートにまとめる方法を解説します。Excelのデータ処理にお悩みの方は、ぜひ参考にしてみてください!
ChatGPTで実演したときの様子をチェック👇✨
動画ではブログで紹介しきれなかった応用方法もご紹介しています。
ChatGPTにプロンプト入力
ChatGPTにお願いしたいことを入力します。
画面更新をオフにすることで、処理の高速化になります。
ChatGPTが出力したVBAコード
コードとコメントもすべてChatGPTが出力した内容です。
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のすごさを実感しました🥰
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】別シート転記を自動処理する方法まとめ

【エクセルマクロ】別シート転記(抽出)を自動化する:超便利20選
...
「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!
リンク