AI活用の教科書

Excelマクロ・VBAをAIで作る手順|コピペで動かす頼み方と検証のコツ

Excel2026年7月27日8 分で読了執筆: 翔平

Excelの繰り返し作業を自動化するマクロ(VBA)を、ChatGPTやClaude、Copilotに書いてもらう手順を解説。そのまま使えるプロンプト例と、動かす前の安全チェックまでまとめました。

VBAマクロ業務効率化生成AI
PR本記事には広告(PR)が含まれます

「毎週おなじ集計をExcelで手作業している」「マクロを組めば速くなるのは分かるけど、VBAが書けない」。そんなときは、生成AIにVBAのコードを書いてもらうのが近道です。結論から言うと、やりたいことを日本語で具体的に伝えれば、ChatGPTやClaude、Excel内蔵のCopilotがマクロのたたき台を出してくれます。プログラミングの知識がなくても、貼り付けて動かすところまでたどり着けます。

この記事では、AIにVBAを書いてもらう頼み方、そのまま使えるプロンプト例、そして動かす前に必ずやりたい安全チェックまでを、順番に説明します。

<!-- FIGURE: 記事全体を表すアイキャッチ(日本語の指示→AI→VBAコード→Excelで実行、の流れ) -->

まず全体の流れ(3ステップ)

VBAを一度も書いたことがなくても、次の3ステップで動かせます。

  1. やりたいことを日本語で書き出す(どのシートの、どの範囲を、どうしたいか)
  2. AIにVBAコードを書いてもらうプロンプトで具体的に伝える)
  3. Excelに貼り付けて、小さなデータで試す(うまく動くか確認してから本番へ)

大事なのは「いきなり本番ファイルで動かさない」ことです。理由は後半の安全チェックで詳しく触れます。

<!-- FIGURE: 3ステップ(書き出す→AIに頼む→試す)の横並びフロー図 -->

ステップ1:やりたいことを言葉にする

AIに丸投げしてもうまくいかない一番の原因は、指示があいまいなことです。VBAは「どのセルを・どう動かすか」がすべてなので、次の項目を先に決めておくと精度が上がります。

  • 対象:どのファイル・どのシート・どの列/行か(例:「Sheet1のA列」)
  • 条件:どうなったら処理するか(例:「B列が空欄の行」)
  • やること:コピー・削除・色付け・別シートへ転記・PDF出力など
  • 結果:どこに、どんな形で出したいか

たとえば「請求書フォルダのExcelを1つにまとめたい」なら、「複数ファイルを開いて」「各ファイルの2行目以降を」「1つのシートに縦に積む」と分解できます。ここまで言葉にできれば、あとはAIの仕事です。

ステップ2:AIに頼む(コピペで使えるプロンプト)

ここが本題です。そのまま貼って使えるプロンプトの型を紹介します。【】の中を自分の状況に書き換えてください。

あなたはExcel VBAに詳しいエンジニアです。
以下の作業を自動化するVBAマクロを書いてください。

# やりたいこと
【例:Sheet1のA列で、B列が空欄の行だけを黄色で塗りつぶす】

# 前提
- Excelのバージョン:【Microsoft 365 / 2021 など】
- データの開始行:【2行目から(1行目は見出し)】
- データ量:【約500行】

# お願い
- コードには日本語のコメントを各行に付けてください
- 初心者向けに、貼り付け方と実行方法も手順で教えてください
- 途中で消えると困るので、元データは書き換えないでください
コードをコピーしました

ポイントは3つあります。1つ目はバージョンを伝えること。VBAはExcelのバージョンで動きが変わることがあるためです。2つ目はコメントを付けてもらうこと。あとで自分で少し直したいときに、どの行が何をしているか読めると安心です。3つ目は「元データを書き換えないで」と釘を刺すこと。AIは気を利かせて上書きするコードを書くこともあるので、先回りして防ぎます。

ChatGPT・Claude・Geminiのいずれでも同じ型が使えます。筆者が試した範囲では、コメントの丁寧さや「実行手順まで書いて」への対応はモデルによって差があるので、うまくいかないと感じたら別のAIに同じプロンプトを投げてみるのも手です。

<!-- FIGURE: プロンプトの型(やりたいこと/前提/お願いの3ブロック)を示した図 -->

エラーが出たときの頼み方

一度で完璧に動くとは限りません。エラーが出たら、エラーメッセージをそのままコピーして貼るのが最速です。

さっきのマクロを実行したら、次のエラーが出ました。
原因と、直したコード全文を教えてください。

【実行時エラー '1004': アプリケーション定義またはオブジェクト定義のエラーです】
【エラーが出た行:Range("A" & i).Copy】
コードをコピーしました

「エラー番号」と「止まった行」を渡すと、AIは原因を絞り込みやすくなります。ここでAIが自信たっぷりに間違った直し方を出すこともある(いわゆるハルシネーション)ので、直したコードも必ず小さなデータで試してください。

ステップ3:Excelに貼り付けて試す

コードを受け取ったら、次の手順で動かします。

  1. Excelで Alt + F11 を押して「VBエディター」を開く
  2. メニューの「挿入」→「標準モジュール」を選ぶ
  3. 開いた白い画面にコードを貼り付ける
  4. F5 キー、または「実行」ボタンで動かす

必ずコピーしたファイルで試してください。 本番ファイルをいったん複製し、さらにデータを数十行に減らしたもので確認するのが安全です。思った動きと違っても、コピーなら元に戻せます。

筆者が初めてAIにVBAを書いてもらったときは、20件ほどのテストデータで3回作り直して、ようやく思い通りになりました。所要時間は15分ほど。手作業なら毎回30分かかっていた転記作業だったので、一度作ってしまえば以降はボタン1つです。最初の試行錯誤を惜しまないことが、結局いちばんの近道でした。

Excel内蔵のCopilotという選択肢

コードを外部のAIに貼るのが不安な場合は、Microsoft 365に含まれるCopilotを使う方法もあります。Excelの画面から日本語で指示すると、VBAコードの生成や説明をしてくれます。シートの中身を踏まえた提案が出るのが利点です(利用にはMicrosoft 365 Copilotのライセンスが必要で、提供内容は更新されることがあります。最新の対応状況は公式情報でご確認ください)。

会社のデータを扱う場合は、そもそも外部AIに社内情報を貼ってよいか、勤務先のルールを先に確認しておきましょう。

動かす前の安全チェック(ここは飛ばさない)

AIが書いたコードは、中身を理解しないまま実行しないのが基本です。最低限、次を確認してください。

  • 元データを消す・上書きする命令はないかDelete や広い範囲への代入に注意)
  • 外部に接続する処理はないか(見覚えのないURLやファイル書き出し先がないか)
  • マクロ付きファイル(.xlsm)を人に渡すときは中身を説明できるか

「AIが書いたから安全」ではありません。実行するのは自分なので、コメント付きコードを一読し、分からない行はAIに「この行は何をしていますか」と聞いて理解してから動かすと安心です。

<!-- FIGURE: 実行前チェックリスト(元データ保護/外部接続なし/コピーで検証)のカード図 -->

もっと自分でも読めるようになりたいなら

AI任せでも動かせますが、簡単なVBAを自分でも読めるようになると、修正が一気に速くなります。体系的に学びたいなら、Excel VBAの入門講座を1本通してみるのがおすすめです。動画で手を動かしながら学べるUdemyPRには、マクロ初心者向けの講座が揃っています。紙の本でじっくり進めたい人は、AmazonPRでVBA入門書を探すのもよいでしょう。

本記事はアフィリエイトリンクを含みます(PR)。まずは無料のAIで小さなマクロを1つ作ってみて、「これは便利だ」と感じてから学習に投資するのが失敗の少ない順番です。

まとめ

  • やりたいことを「対象・条件・やること・結果」に分解してから頼む
  • プロンプトにはバージョンと「元データを書き換えないで」を必ず入れる
  • 受け取ったコードは、コピーした小さなデータで試してから本番へ
  • エラーはメッセージごと貼れば直してもらえる
  • 実行前に、消す・上書きする・外部接続する命令がないか一読する

VBAが書けないことは、もう自動化をあきらめる理由になりません。まずは毎週やっている面倒な作業を1つ選んで、AIに頼むところから始めてみてください。

Follow

思いついたことを、AIでかたちに。

初心者でも、頭の中にあるものをそのまま形にできる短いプロンプトを、X で毎日発信中。

@ai_shohei_jp をフォロー