
プログラミング知識ゼロ!AIでエクセルマクロ(VBA)を作成して業務を全自動化
プログラミング未経験でも大丈夫!ChatGPTなどのAIを活用し、エクセルマクロ(VBA)を自動作成してデータ集計や転記作業を劇的に効率化する手順や保存方法、エラー解決のコツを徹底解説します。
毎日の業務で発生する、エクセル(Excel)でのデータ転記や集計作業。ルーティンワークとはいえ、手作業で行うと時間がかかり、ミスも発生しやすくなります。
「マクロを使って自動化したいけれど、プログラミング知識ゼロだから無理…」と諦めていませんか?
実は筆者もかつて、各支店から送られてくる数十個のエクセルファイルを1つにまとめる売上集計作業に、毎月20時間以上を費やしていました。しかし、ChatGPTなどのAIを活用したマクロ作成術を試したところ、プログラミング未経験にもかかわらず、たった5分で作業が終わる全自動化ツールを完成させることができたのです。
現在、AIの劇的な進化により、エンジニアでなくてもAIと対話するだけで簡単にエクセルマクロ(VBA)を作成できる時代になりました。本記事では、プログラミング知識ゼロからAIを活用して面倒なエクセル作業を全自動化するマクロ作成術を分かりやすく解説します。今日からAIを専属のプログラマーとして活用し、業務効率を劇的に改善しましょう!
【内部リンク:ChatGPTの始め方・基本解説記事】
1. なぜプログラミング知識ゼロでもAIでエクセルマクロ(VBA)作成が可能なのか?
手作業の限界とVBAプログラミング学習の壁
多くのビジネスパーソンが、売上データの集計、顧客リストの整理、別シートへのデータ転記など、毎月数十時間をエクセル作業に費やしています。これを全自動化するための強力な機能が「マクロ(VBA)」です。
しかし、VBA(Visual Basic for Applications)というプログラミング言語をゼロから学ぶには、数百時間の学習が必要と言われています。非エンジニアにとって、この学習コストがVBA作成の大きな壁となっていました。
ChatGPTなどのAIが優秀なVBAプログラマーになる
現在、ChatGPT(OpenAI)やClaude(Anthropic)、Microsoft Copilotなどの生成AIが劇的な進化を遂げています。これらのAIは、人間が日常的に使う言葉(自然言語)で指示を出すだけで、完璧なVBAのプログラムコードを瞬時に生成してくれます。
つまり、「AIにやりたいことを日本語で伝える力」さえあれば、プログラミング知識ゼロでも、複雑なエクセルマクロをAIに作成させ、実行できるのです。
---
2. 【実践】AI(ChatGPT等)でエクセルマクロ・VBAを作成する3ステップ

ここからは、実際にAIを使ってエクセル作業を全自動化する手順を解説します。
ステップ1:自動化したい作業を言語化しAIにプロンプトを投げる
AIに精度の高いVBAコードを作ってもらうコツは、前提条件と処理の手順を明確に伝えることです。よくある「複数シートのデータ集約」を例に、以下のようなプロンプト(指示文)を作成してAIに入力してみましょう。
【プロンプト事例1:データ集約マクロの作成】
```text
あなたは優秀なVBAエンジニアです。以下の条件に従って、エクセルのマクロ(VBA)コードを作成してください。
【目的】
複数のシートにある売上データを「まとめ」シートに集約したい。
【前提条件】
・「まとめ」という名前のシートが一番左にある
・それ以外のすべてのシート(支店ごとのシート)からデータを抽出する
・各支店シートのデータは、A列に「日付」、B列に「商品名」、C列に「売上金額」が入力されており、2行目からデータが始まっている(1行目は見出し)
【処理の手順】
- 「まとめ」シートの2行目以降のデータをすべてクリアする
- 各支店シートのデータをループ処理で順番に取得する
- 取得したデータを「まとめ」シートの最終行のすぐ下に追加していく
- 処理が完了したら「データ集約が完了しました」というメッセージを表示する
コードには初心者でも分かるように、日本語で丁寧なコメントを書いてください。
```
【追加事例】ステップ1-2:指定フォルダ内のExcelファイルをすべてPDF化する
実務でよくあるもう一つの例として、「指定したフォルダ内にあるすべてのExcelファイルを、自動でPDF化して保存する」というマクロのプロンプトも紹介します。
【プロンプト事例2:ExcelのPDF一括変換マクロ】
```text
あなたは優秀なVBAエンジニアです。以下の条件に従って、指定フォルダ内のExcelファイルをすべてPDF化するマクロを作成してください。
【前提条件】
・マクロを実行するExcelファイルと同じフォルダ内に「対象データ」というフォルダがある
・「対象データ」フォルダの中には複数のExcelファイル(.xlsx)が入っている
【処理の手順】
- 「対象データ」フォルダ内のExcelファイルを順番に開く
- 開いたファイルの「Sheet1」をPDF形式でエクスポートする
- PDFの保存先は同じ「対象データ」フォルダ内とし、ファイル名は元のExcelファイル名と同じにする
- 処理が終わったExcelファイルは保存せずに閉じる
- すべての処理が完了したら「PDF化が完了しました」と表示する
```
このように、目的と手順を細かく指定することで、AIは思い通りのVBAを作成してくれます。
ステップ2:AIが作成したVBAコードを確認する
上記のプロンプトを投げると、AIは数秒でVBAのコードを出力します。コードの意味が完全に分からなくても、AIが添えてくれた日本語のコメントを読むことで、「どの部分で何をしているのか」を大まかに把握できます。
ステップ3:ExcelにVBAコードを貼り付けてマクロを実行する
AIが作成したVBAコードをエクセルに組み込む手順は以下の通りです。
- 対象のエクセルファイルを開き、
Alt+F11キーを押して「VBAエディタ」を起動します。 - 上部のメニューから「挿入」→「標準モジュール」をクリックします。
- 真っ白な画面が表示されるので、そこにAIが生成したコードをコピー&ペーストします。
- エクセルの画面に戻り、
Alt+F8キーを押してマクロ画面を開きます。 - 追加したマクロを選択し、「実行」をクリックします。
これで、面倒だった作業が数秒で全自動化されます!
---
3. 【重要】初心者がつまずく!作成したマクロを「マクロ有効ブック(.xlsm)」で保存する方法
AIでVBAを作成し、うまく動作して安心するのはまだ早いです。実は、エクセルのデフォルト設定のまま上書き保存をしてしまうと、せっかく作成したマクロがすべて消えてしまいます。
なぜ「.xlsx」ではマクロが消えてしまうのか?
通常のExcelファイルの拡張子である「.xlsx」は、セキュリティ上の理由からマクロ(VBA)のプログラムコードを保存できない仕様になっています。そのため、マクロを含んだファイルを保存する場合は、専用の形式に変更する必要があります。
マクロ有効ブック(.xlsm)での正しい保存手順
マクロを消さずに保存するには、以下の手順を行ってください。
- Excelの左上にある「ファイル」タブをクリックします。
- 「名前を付けて保存」を選択します。
- ファイル名を入力する欄の近くにある「ファイルの種類(拡張子)」のプルダウンメニューをクリックします。
- 一覧の中から「Excel マクロ有効ブック (*.xlsm)」を選択します。
- 「保存」をクリックします。
次回からは、この「.xlsm」のファイルを開くことで、いつでも作成したマクロを実行できます。
---
4. マクロのエラーも怖くない!AI(ChatGPT)を使ったVBAデバッグ術

プログラムを実行すると、環境の違いやデータの不備によってエラーが出る(止まってしまう)ことがあります。プログラミング初心者が最も挫折しやすいポイントですが、AIを使えばデバッグ(バグの原因究明と修正)も簡単です。
エラーメッセージをそのままAIに相談してVBAを修正
エクセルでエラー画面が表示されたら、表示されている「エラー番号」と「エラーメッセージ」、そして黄色くハイライトされて止まったコードの行をコピーして、AIに以下のように相談します。
【デバッグ用プロンプト例】
```text
先ほど作成してもらったVBAを実行したところ、以下のエラーが出ました。
エラー番号:実行時エラー '9'
メッセージ:インデックスが有効範囲にありません。
止まった箇所:Worksheets("まとめ").Range("A2:C1000").ClearContents
原因と修正後のコードを教えてください。
```
AIは「『まとめ』という名前のシートが存在しないか、名前が間違っている可能性があります」といった具体的な原因を推測し、修正案を提示してくれます。エラーは失敗ではなく、AIと対話して完成に近づけるためのプロセスと捉えましょう。
---
5. さらに高度な業務自動化へ!AI×VBA・ノーコード・Pythonの活用
エクセルのマクロ作成に慣れてきたら、さらに一歩進んだ開発手法にも挑戦してみましょう。
ノーコードツールとAIで複数アプリを連携
エクセルの中だけの作業ではなく、「受信したメールの添付ファイルを自動でエクセルに保存し、チャットツールに通知する」といった複数のアプリをまたぐ自動化を行いたい場合、Power AutomateやZapierといったノーコードツールが役立ちます。
【内部リンク:Power Automateの基本とAI連携の解説記事】
大規模なデータ処理はPython×AIで解決
数百万行に及ぶような大規模なデータ(CSVファイルなど)を扱う場合、エクセルのマクロでは処理が重くなりフリーズしてしまうことがあります。
このようなケースでは、データ分析に特化したプログラミング言語であるPythonを使用するのが最適です。Pythonの環境構築やコードの記述も、AIに「Python初心者です。大容量データを集計するコードと実行方法を教えて」と聞けば、完璧にサポートしてくれます。
---
6. エクセル マクロ AI作成に関するよくある質問(FAQ)
Q1. 無料のChatGPTでもVBAマクロの作成は可能ですか?
A. はい、十分に可能です。無料版のChatGPTなどでも、一般的なエクセルマクロ(VBA)のコードであれば高い精度で生成できます。ただし、より複雑なロジックのVBAをAIに作成させたい場合や、エラーが解決しにくい場合は、最新の有料AIモデルを利用することをおすすめします。
Q2. AIに会社のExcelデータを入力してもセキュリティ上問題ない?
A. 顧客の個人情報や社外秘のデータ(具体的な売上金額、パスワードなど)は、絶対にAIに入力しないでください。AIに指示を出す際は、「A列に顧客名、B列に売上」のようにデータの「構造(枠組み)」だけを伝え、実際のデータそのものは伏せてプロンプトを作成するのが鉄則です。企業向けのセキュアなAI環境が導入されている場合は、自社のセキュリティガイドラインに従って活用してください。
Q3. Mac版のエクセルでもAIが作ったマクロは動く?
A. 基本的には動きますが、Windows版のExcelとMac版のExcelでは、VBAの仕様に一部違いがあります(特にファイル操作やフォルダの参照など)。そのため、Macを使用している場合は、AIにプロンプトを出す際に「Mac版のExcelを使用しています」と一言付け加えることで、Mac環境で動作する適切なVBAコードを出力してくれます。
---
まとめ
この記事では、プログラミング知識ゼロの非エンジニアが、AIを使ってエクセルマクロ(VBA)を作成し、業務を全自動化する手法について解説しました。重要なポイントは以下の通りです。
- AIは優秀なVBAプログラマー:日本語で正確に指示を出せば、プログラミング不要でVBAコードを生成可能。
- プロンプトの具体性が鍵:目的、前提条件、手順を明確に言語化する。
- 保存形式に注意:作成したマクロは必ず「マクロ有効ブック(.xlsm)」で保存する。
- デバッグもAIにお任せ:エラーが出たら、メッセージと状況をそのままAIに投げて修正する。
まずは、明日やらなければならない5分間のエクセル作業をAIでマクロ化するところから始めてみてください。小さな成功体験の積み重ねが、あなたの業務効率を劇的に改善する第一歩となります!