※本記事にはプロモーション(広告)が含まれています。
「VBAを覚えたいけれど、コードを書くのが難しい」「やりたい作業はあるのに、書き方が分からない」という方は多いのではないでしょうか。そこで役立つのが、ChatGPTやClaudeなどの生成AIです。
この記事では、生成AIでExcelマクロ(VBA)を作る手順、失敗しにくいプロンプトの書き方、無料版と有料プランの違い、学習に役立つ書籍の選び方を解説します。AIが書いたコードをそのまま使うのではなく、自分で確認できるようになることを目標にします。
生成AIでVBAマクロを作る基本の流れ
AIにマクロを作らせる流れは、次の4ステップです。
- やりたいことを具体的に文章にする
- AIにVBAコードを生成してもらう
- コードをテスト用のブックで試す
- エラーが出たら、エラー内容をAIに伝えて修正してもらう
大切なのは、いきなり本番のファイルで実行しないことです。マクロの実行は「元に戻す」ができないため、必ずコピーしたファイルで試してください。
失敗しにくいプロンプトの書き方
AIに依頼するときは、次の4つを伝えると意図どおりのコードが返ってきやすくなります。
- 対象:シート名、データの開始セル、列の構成
- 処理内容:何をどうしたいか
- 出力先:結果をどこに出すか
- 条件:Excelのバージョン、空白行の扱いなど
プロンプトの例
Excelマクロ(VBA)を作ってください。
・「売上」シートのA列に日付、B列に商品名、C列に金額が2行目から入っています
・商品名ごとの金額合計を「集計」シートのA列(商品名)、B列(合計)に出力してください
・Dictionaryを使い、最終行は自動で判定してください
・コードにはコメントを付けてください
「集計マクロを作って」だけでは、AIは列の構成を推測するしかありません。具体的に書くほど、修正の手間が減ります。
AIが生成したVBAコードの例
上のプロンプトで生成されるコードの一例です。
Sub 商品別集計()
Dim wsSrc As Worksheet
Dim wsDst As Worksheet
Dim dict As Object
Dim lastRow As Long
Dim i As Long
Dim key As Variant
Dim r As Long
Set wsSrc = ThisWorkbook.Worksheets("売上")
Set wsDst = ThisWorkbook.Worksheets("集計")
Set dict = CreateObject("Scripting.Dictionary")
' B列の最終行を取得
lastRow = wsSrc.Cells(wsSrc.Rows.Count, "B").End(xlUp).Row
' 商品名ごとに金額を加算
For i = 2 To lastRow
key = wsSrc.Cells(i, "B").Value
dict(key) = dict(key) + wsSrc.Cells(i, "C").Value
Next i
' 集計シートに出力
wsDst.Range("A2:B" & wsDst.Rows.Count).ClearContents
r = 2
For Each key In dict.Keys
wsDst.Cells(r, "A").Value = key
wsDst.Cells(r, "B").Value = dict(key)
r = r + 1
Next key
End Sub
コードの解説:Scripting.Dictionaryに商品名をキーとして金額を加算し、最後に「集計」シートへ書き出しています。End(xlUp)で最終行を取得するため、データが増えても対応できます。
AI生成コードを使うときの注意点
AIは便利ですが、間違ったコードを自信ありげに返すことがあります。次の点を必ず確認してください。
- 存在しないメソッドやプロパティが使われていないか
- シート名やセル範囲が実際のブックと合っているか
- データを削除・上書きする処理が含まれていないか
- 社内の機密データをAIに貼り付けていないか
特に最後の点は重要です。会社のデータをそのまま入力せず、ダミーデータに置き換えるか、社内のAI利用ルールを確認してから使いましょう。
無料版と有料プランの違い
主要な生成AIには、無料で使える範囲と有料プランがあります。内容や料金は変更されやすいため、最新情報は各公式サイトで必ず確認してください。
| 項目 | 無料版 | 有料プラン |
|---|---|---|
| 利用回数 | 制限あり | 多めに使える |
| 高性能モデル | 制限あり | 利用しやすい |
| 長いコードの生成 | 途中で止まることがある | 比較的安定 |
| 向いている人 | まず試したい人 | 毎日業務で使う人 |
まずは無料版で試し、制限が気になり始めたら有料プランを検討するのがおすすめです。
AIを使いこなすためにおすすめの学習本
AIにコードを書かせても、読んで理解できなければ修正できません。次の2タイプの本を1冊ずつ持っておくと安心です。
VBA入門書(コードを読む力をつける)
変数、繰り返し、条件分岐といった基本文法を押さえられる入門書がおすすめです。AIが書いたコードの意味が分かるようになります。
『改訂第3版 Excel VBA 本格入門』(大村あつし著)
2026年7月に発売された改訂版で、616ページの大ボリュームです。基礎から応用、業務の自動化、データ連携まで、VBAの技術を体系的に学べる構成になっています。
はじめてVBAに取り組む方から、中級者・上級者へステップアップしたい方までが対象です。AIが生成したコードを読み解くだけでなく、自分で手直しできる力まで身につけたい方に向いています。
『スラスラ読める Excel VBAふりがなプログラミング 増補改訂版』(リブロワークス著)
プログラムの読み方をすべて載せた「ふりがな方式」が特徴の入門書です。コードの一語一語に読み仮名がついているため、文法に不安がある初心者でも、1行ずつ意味を追いながら読み進められます。
増補改訂版では、複数ブックを操作する内容も追加されています。なお、2022年発売の本なので、最新のExcelの画面と細部が異なる場合があります。
生成AI活用の本(指示の出し方を学ぶ)
プロンプトの書き方や業務での活用例が載っている本は、AIから良い回答を引き出す助けになります。
『[最速入門]ChatGPTに任せる Excelマクロ&VBA』(大村あつし著)
2026年5月に発売された、272ページの入門書です。面倒なプログラミングはChatGPTなどのAIに任せる、という考え方で書かれています。
3ステップの構成で、最初はExcelの「マクロの記録」とChatGPTを組み合わせる方法から始まります。AIに対話しながら指示を出し、マクロを作るスキルを身につけたい方におすすめです。
『今すぐ使えるかんたんmini Excel マクロ&VBA 基本操作がこれ1冊でわかる本』(門脇香奈子著)
192ページのコンパクトな入門書です。第1章の「マクロを動かしてみよう」から始まり、マクロのしくみや準備、基本操作を順に学べます。Office 2024とMicrosoft 365の両方に対応しています。
主題はVBAの基本操作ですが、補足として、生成AIのCopilotにマクロを作ってもらう方法も解説されています。まずは薄い1冊でマクロの全体像をつかみたい方に向いています。
※書籍の内容は出版社の紹介情報をもとにしています。購入前に目次やサンプルで、お使いのExcelやAIサービスの画面と合っているかご確認ください。
まとめ
生成AIを使えば、VBAの知識が浅くてもマクロの作成に挑戦できます。ポイントは次の3つです。
- プロンプトには対象・処理内容・出力先・条件を具体的に書く
- 生成されたコードはテスト用ブックで必ず検証する
- コードを読む力をつけるために入門書で基礎を学ぶ
AIと基礎学習を組み合わせて、業務の自動化を効率よく進めていきましょう。


コメント