ChatGPTでマクロ作成①〜ブック内のシートからデータを抜き出す〜

Chat GPT✖️Excel

ChatGPTを使用して、エクセルマクロを作成する方法第一弾をご紹介します。

今回はエクセル内のデータシートから特定のデータを抜き出して、集計シートにまとめるといった簡単なマクロを作成します。

目的とするものはこんな感じのマクロです。

ある程度のVBA知識は必要になりますが、コードが書けないという方にもできる方法です。

私自身VBAに関してはほとんど初心者ですので、
VBA初心者の方でもできるような内容になっています。

 

さて、いきなりやり方になります。

やり方は簡単で、

①Chat GPTにやりたいことを文章で記入する

②出力されたコードをコピペする

③必要であればファイル名など微修正を行う

④作動させる

⑤異常があれば、Chat GPTに変更をお願いする
無理そうなら、質問文を大きく変えてみるといい

⑥問題なければ完了!!!

 

非常に簡単ですよね!
ここで重要なのが、

どういった文章で質問するか

です。

 

 

実際にChat GPTに聞いてみた質問は下記になります。

マクロが含まれるエクセル内で完結するマクロ
エクセル内の集計シートにその他すべてのシートのデータを転記するマクロを作成する

・集計シートの
B11つ目のシートのシート名を出力
1つ目のシートのB2:B13のデータを抜き出して、B2:B14に出力データを貼り付け
・集計シートのC12つ目のシートのシート名を出力
2つ目のシートのB2:B13のデータを抜き出して、C2:C14に出力データを貼り付け以降のシートも同様に操作する

 

この文章に対する解答が下記マクロです。

Sub 転記マクロ()

Dim aggregateSheet As Worksheet
Set aggregateSheet = ThisWorkbook.Sheets(“集計シート“) ‘ 集計シートを指定
Dim sourceSheet As Worksheet
Dim targetColumn As Integer
Dim i As Integer
targetColumn = 2 ‘ 集計シートのB列から始める

For i = 1 To ThisWorkbook.Sheets.Count ‘ 全てのシートに対してループ

If ThisWorkbook.Sheets(i).Name <> “集計シート” Then ‘ 集計シート以外の場合
Set sourceSheet = ThisWorkbook.Sheets(i)

シート名を出力
aggregateSheet.Cells(1, targetColumn).Value = sourceSheet.Name

データを転記
sourceSheet.Range(“B2:B13”).Copy
aggregateSheet.Cells(2, targetColumn).PasteSpecial xlPasteValues
Application.CutCopyMode = False

targetColumn = targetColumn + 1 ‘ 列を次に進める

End If

Next i

End Sub

 

このコードを動かすには「集計シート」というシートが必要なので、シート名の1つを「集計シート」に変更します。

その後、このコードを

開発 ⇨ Visual Basic

 

にコピーペーストしてマクロを実行すると、

実際に問題なく動作しました!

 

※これができる前に何度か失敗しています。

※難しい場合はいろんな文章で実施してみるといつか成功すると思います。

 

さらに、マクロを微修正したいと思った場合には

そのままChat GPTに修正したい部分を伝えると、

変更したマクロが出力されます。

 

 

以上になります。

今回はChat GPTを使用して各シート内のデータを

集計シートにまとめるマクロを作成しました。

 

初心者でも無料で簡単に出来る方法ですので

ぜひ試してみてください。

タイトルとURLをコピーしました