エクセルマクロ(VBA)による業務効率化の具体例10選|AIでコードを自動生成する方法も解説

エクセルマクロ(VBA)とは、Microsoft Excelに搭載された自動化機能で、繰り返しの手作業をプログラムで自動実行させる仕組みです。2026年現在はChatGPTやGeminiなどのAIに日本語で指示するだけでVBAコードが生成できるため、プログラミング未経験者でもマクロを活用した業務効率化が可能になっています。

「マクロを覚える」時代は終わった。「AIにマクロを書かせる」時代が来た。

エクセルマクロ(VBA)は、業務効率化の最強ツールの1つです。1クリックで、何時間もかかる作業を数秒で終わらせる。この魔法のような体験をしたことがある人は、もうマクロなしの仕事には戻れないでしょう。

しかし問題が1つ。マクロを書くにはVBA(Visual Basic for Applications)というプログラミング言語の知識が必要でした。

「Sub」「If Then」「Range」

こうした専門用語が並ぶエディタを見て、大半の人は「自分には無理」と諦めてきたはずです。

2026年、その壁は完全に消えました。

ChatGPTやGeminiに「こんなマクロを作って」と日本語で指示すれば、数秒で完全なVBAコードが返ってきます。

あなたがやることは「コードをコピーして貼り付ける。以上」です。

筆者は、中小企業・一人社長のDX支援を延べ50社以上行ってきました。そのうち約20社で「エクセル業務のマクロ化」を支援しています。特に印象的だったのは、ある製造業の会社(従業員12名)で、毎月の在庫レポート作成にパートさんが丸1日(8時間)かけていた作業が、マクロ導入後に15分になったケースです。しかもそのマクロは、ChatGPTに指示を出して20分で完成しました。

この記事では、マクロで実現できる業務効率化の具体例10選を「Before(手作業)→ After(マクロ化)」形式で紹介し、それぞれにAIにコードを生成させるためのプロンプトもセットで掲載します。

「マクロよりもっと根本的にエクセルを見直したい」方はこちら。
👉 エクセルでの業務効率化に限界を感じたら?マクロ不要の時短術と脱エクセルの判断基準

マクロで業務効率化する具体例10選

マクロで自動化できる業務は「繰り返し手作業で行っているエクセル操作」全般です。以下の10例は、サモテクの支援先で特に導入効果が高かった業務を、削減時間の大きい順に並べています。すべてChatGPTへのプロンプト付きで、コピペだけで再現可能です。

例①:請求書の自動作成

項目Before(手作業)After(マクロ化)
作業内容取引先ごとにExcelテンプレートにデータを手入力ボタン1つで全取引先の請求書を一括生成
所要時間月3時間(30社分)月5分
削減時間月2時間55分

AIに投げるプロンプト:

エクセルのVBAマクロを書いてください。
「取引先一覧」シートにある取引先名・金額・品目のデータを元に、
「請求書テンプレート」シートに1社ずつ値を転記し、
PDF保存して「請求書」フォルダに出力するマクロです。
ファイル名は「請求書_取引先名_202602.pdf」形式にしてください。

例②:複数シートのデータ統合

項目BeforeAfter
作業内容12個の月別シートのデータを手動でコピペして年間集計ボタン1つで全シートのデータを統合
所要時間2時間10秒
削減時間約2時間

AIに投げるプロンプト:

エクセルのVBAマクロを書いてください。
「1月」〜「12月」の各シートのA2からD列最終行までのデータを、
「年間集計」シートに順番に貼り付けるマクロです。
貼り付けるたびに既存データの下に追加してください。

例③:条件に合うデータの自動抽出

項目BeforeAfter
作業内容フィルターで絞り込み→コピー→別シートに貼り付け条件を入力してボタンを押すだけ
所要時間30分5秒
削減時間約30分

AIに投げるプロンプト:

エクセルのVBAマクロを書いてください。
「売上データ」シートから、B列(担当者名)がセルH1の値と一致する行だけを、
「抽出結果」シートにコピーするマクロです。
実行前に「抽出結果」シートのデータをクリアしてから実行してください。

例④:メールの一括送信(Outlook連携)

項目BeforeAfter
作業内容Outlookで1件ずつ宛先・件名・本文を入力して送信エクセルの一覧表からワンクリックで一括送信
所要時間月1.5時間(30件)月3分
削減時間月1時間27分

AIに投げるプロンプト:

エクセルのVBAマクロを書いてください。
「送信リスト」シートのA列にメールアドレス、B列に宛名、C列に件名があります。
D列の本文テンプレートの{宛名}部分をB列の値に置換し、
Outlookで自動送信するマクロを書いてください。
送信前に確認ダイアログを表示してください。

例⑤:日報の自動集計・グラフ更新

項目BeforeAfter
作業内容日報データを手動で集計し、グラフを毎週手動で更新ボタン1つで集計+グラフ更新
所要時間週1時間週1分
削減時間月約4時間

AIに投げるプロンプト:

エクセルのVBAマクロを書いてください。
「日報入力」シートのデータを、担当者別・週別に集計し、
「集計結果」シートに出力するマクロです。
集計後に「グラフ」シートのグラフデータ範囲も自動更新してください。

例⑥:ファイル名の一括変更

項目BeforeAfter
作業内容フォルダ内の100個のファイルを手動でリネームエクセルの名前リストからワンクリックでリネーム
所要時間1時間10秒
削減時間約1時間

AIに投げるプロンプト:

エクセルのVBAマクロを書いてください。
「リネームリスト」シートのA列に現在のファイル名、B列に変更後のファイル名があります。
C1セルに対象フォルダのパスが入力されています。
このリストに従って、フォルダ内のファイル名を一括変更するマクロを書いてください。
変更前にファイルの存在チェックを行い、存在しない場合はスキップしてD列に「見つかりません」と記録してください。

例⑦:入力チェックの自動化

項目BeforeAfter
作業内容データ入力後に目視で全行チェックマクロが自動でエラー箇所を赤色表示
所要時間30分5秒
削減時間約30分

AIに投げるプロンプト:

エクセルのVBAマクロを書いてください。
「入力データ」シートの以下のチェックを行い、エラーのセルを赤色に塗りつぶすマクロです。
・A列(日付):空白チェック、日付形式かどうか
・C列(金額):数値かどうか、マイナス値でないか
・E列(メールアドレス):@が含まれているか
実行前にすべてのセルの背景色をリセットしてから実行してください。
チェック完了後にエラー件数をメッセージボックスで表示してください。

例⑧:見積書の自動生成

項目BeforeAfter
作業内容商品マスタから単価を調べて手入力、消費税を計算商品コードを入力するだけで見積書が完成
所要時間1件30分1件2分
削減時間1件あたり28分

AIに投げるプロンプト:

エクセルのVBAマクロを書いてください。
「見積書」シートのB列に商品コードを入力すると、
「商品マスタ」シートから商品名(B列)と単価(C列)をVLOOKUPで取得し、
「見積書」シートのC列に商品名、D列に単価を自動入力するマクロです。
E列は数量(手入力)、F列に「単価×数量」の小計を自動計算し、
最終行の下に合計金額と消費税(10%)、税込合計を表示してください。

例⑨:CSVデータの自動取り込み&加工

項目BeforeAfter
作業内容CSVファイルを開き、手動でフォーマットを整えて貼り付けフォルダにCSVを置いてボタンを押すだけ
所要時間20分30秒
削減時間約20分

AIに投げるプロンプト:

エクセルのVBAマクロを書いてください。
C1セルに指定されたフォルダパス内のCSVファイルをすべて読み込み、
「取り込みデータ」シートに順番に貼り付けるマクロです。
CSVの1行目はヘッダーなので、2ファイル目以降はヘッダーを除外してください。
取り込み後にA列の日付をyyyy/mm/dd形式に統一し、
C列の金額にカンマ区切りの書式を適用してください。

例⑩:月末の帳票自動出力

項目BeforeAfter
作業内容売上データから帳票用に手で転記、印刷範囲を設定してPDF化ボタン1つで帳票作成→PDF保存まで完結
所要時間月2時間月5分
削減時間月1時間55分

AIに投げるプロンプト:

エクセルのVBAマクロを書いてください。
「売上データ」シートの当月分のデータ(A列の日付で判定)を
「月次帳票」シートのテンプレートに転記し、
印刷範囲を設定してPDFとして保存するマクロです。
ファイル名は「月次帳票_202602.pdf」形式で、デスクトップに保存してください。
保存完了後にメッセージボックスで保存先を表示してください。

10個のマクロで削減できる合計時間

項目数値
月間の削減時間合計約15〜20時間
年間換算約180〜240時間
時給2,000円で計算した年間コスト削減約36〜48万円
マクロの作成にかかるコスト0円(AIに書かせる)

ROIを一言で: 投資0円、リターン年間40万円超。これ以上のROIは存在しません。

具体例10選まとめ: 10個すべてを一度に導入する必要はありません。まずは自社で「最も繰り返し時間がかかっている作業」を1つ選び、そのプロンプトをChatGPTにコピペしてみてください。シート名と列名を自社の実情に書き換えるだけで、今日から使えます。最初の1つが動いた瞬間の感動が、次の自動化への原動力になります。


AIにマクロを書かせる方法(完全ガイド)

AIにVBAマクロを書かせる手順は「①ChatGPTを開く → ②やりたいことを日本語で伝える → ③生成されたコードをエクセルに貼る → ④動かない部分はAIに修正させる」の4ステップです。プログラミングの知識は一切不要で、必要なのは「自社の作業を言語化する力」だけです。

ステップ1:ChatGPT(またはGemini)を開く

無料版でOKです。ブラウザで chat.openai.com にアクセスしてください。

ステップ2:プロンプトの書き方

AIに的確なマクロを書かせるコツは、以下の5要素を入れることです。

要素説明
① やりたいこと何を自動化したいか「請求書を自動作成したい」
② データの場所どのシートの、どの列にデータがあるか「取引先一覧シートのA列〜D列」
③ 出力先結果をどこに出したいか「PDFにして請求書フォルダに保存」
④ 命名規則ファイル名やシート名のルール「請求書取引先名年月.pdf」
⑤ 例外処理エラー時にどうするか「送信前に確認ダイアログを出す」

現場で見る失敗パターン: 「請求書を自動化して」とだけ指示すると、AIはシート名を「Sheet1」、列をA〜C列と仮定して書きます。結果、自分のエクセルとは全く合わないコードが出てくる。プロンプトには必ず「自社のシート名と列名」を具体的に書いてください。 これだけで成功率が3倍以上になります。

ステップ3:生成されたコードをエクセルに貼り付ける

  1. エクセルを開く
  2. Alt + F11 → VBAエディタが開く
  3. 「挿入」→「標準モジュール」
  4. AIが生成したコードを貼り付け
  5. F5 で実行

ステップ4:うまくいかない場合の対処法

状況対処法
エラーメッセージが出るエラー文をそのままChatGPTにコピペして「このエラーを直して」と聞く
動くけど結果が違う「〇〇のように動いてほしいが、△△になってしまう。修正して」と伝える
コードの意味が分からない「このVBAコードを1行ずつ日本語で解説して」と聞く
途中で止まってしまう「実行ログ(Debug.Print)を追加して、どこまで処理が進んでいるか確認したい」と依頼する

大切なこと: AIが1回で完璧なコードを出すことは稀です。2〜3回のやり取りで完成すると考えてください。それでもゼロから人間が書くよりは100倍速いです。支援先では平均3.5回のやり取りでマクロが完成しています。

AIコード生成まとめ: AIにマクロを書かせる成功の鍵は「プロンプトの具体性」です。シート名・列名・出力先・命名規則を具体的に指示すれば、プログラミング未経験でも今日からマクロが使えます。「5要素テンプレート」をブックマークして、毎回のプロンプトに活用してください。

マクロの「落とし穴」と対策

エクセルマクロには「属人化(作った人しか分からない)」「ファイル破損」「マクロ依存による移行困難」の3つのリスクがあります。これらを事前に把握し、対策を講じておくことで、マクロを安全かつ長期的に活用できます。

落とし穴①:属人化リスク

「この人しかマクロの中身が分からない」状態は、エクセル最大のリスクです。支援先の製造業で、マクロを作った経理担当者が急に退職し、翌月の請求書発行が3日間ストップした事例がありました。

対策: AIにマクロを書かせたら、同時に「このコードの処理内容を日本語で解説するドキュメントを作って」と依頼する。そのドキュメントをファイルと一緒に保管しておけば、誰でも引き継げます。費用も時間も追加ゼロで、リスクを大幅に低減できます。

落とし穴②:ファイルが壊れるリスク

マクロ付きエクセルは .xlsm 形式で保存する必要があります。.xlsx で保存するとマクロが消えます。

対策: マクロ付きファイルは必ず .xlsm で保存。さらにGoogle Driveで定期的にバックアップを取る。「毎週月曜にバックアップ用のコピーを作成するマクロ」をマクロ自体に組み込むのも有効です(これもAIに作らせられます)。

落とし穴③:マクロに頼りすぎるリスク

マクロで解決できても、そもそもクラウドツールに移行した方が良い業務もあります。

対策: この記事のマクロ例10選のうち、例①(請求書)と例④(メール送信)はクラウドツールの方が適している可能性があります。判断の目安は以下のとおりです。

マクロが最適クラウドに移行すべき
自分1人で使う3人以上で共有する
データが100件以下/月データが1,000件以上/月
今のエクセルの形を残したいゼロから仕組みを作り直せる

マクロは「今のエクセル環境を最大限に活かす方法」であり、最終的にはクラウドへの移行も検討してください。

クラウドツールへの移行も含めた判断基準はこちら。
👉 エクセルでの業務効率化に限界を感じたら?マクロ不要の時短術と脱エクセルの判断基準

正直に言うと: マクロは「今のエクセル環境を延命させる技術」です。5年先を見据えるなら、クラウドツール + AI自動化の方が圧倒的に保守コストが低い。しかし「今すぐ、0円で、確実に効果を出す」ならマクロが最速です。

落とし穴まとめ: マクロの3大リスク(属人化・ファイル破損・依存)は、すべてAIで対策可能です。「ドキュメント化もAIに任せる」「バックアップもマクロで自動化する」「クラウド移行の判断基準を持っておく」。この3つを守れば、マクロは安全に使い続けられます。

よくある質問(FAQ)

Q1. マクロとGAS(Google Apps Script)はどう違いますか?
マクロ(VBA)はMicrosoft Excelで動く自動化コードです。GASはGoogleスプレッドシートで動く自動化コードです。やれることはほぼ同じですが、GASはクラウドベースなのでチームでの共有や外部サービス連携が得意です。社内でGoogleWorkspaceを使っているならGAS、Microsoft 365ならマクロ、というのが選択の基本です。

GASの詳細はこちら。
👉 GAS(Google Apps Script)で業務効率化|具体例10選

Q2. マクロのセキュリティ設定は大丈夫ですか?
エクセルはデフォルトでマクロの実行を制限しています。信頼できるマクロのみ実行する設定(「警告を表示してマクロを無効にする」がデフォルト)のままで問題ありません。外部から受け取ったマクロ付きファイルは、信頼できる送信元かどうか必ず確認してから開いてください。

Q3. Mac版のExcelでもマクロは使えますか?
基本的なVBAマクロは動きますが、Outlook連携など一部のWindows専用機能は使えません。Mac環境ではGASの方が相性が良い場合があります。

Q4. ChatGPTの無料版でVBAコードは生成できますか?
はい。無料版のGPT-4o miniでも十分なVBAコードを生成できます。複雑なマクロの場合は有料版の方が精度が高いですが、この記事の10個の例は無料版で対応可能です。

Q5. マクロよりもPythonの方がいいですか?
エクセルの中で完結する自動化ならマクロの方が手軽です。エクセル以外のデータやWebスクレイピングなども含めた自動化ならPythonの方が適しています。ただし2026年は「どちらもAIに書かせる」のが正解です。

Q6. マクロ付きファイルを社内で共有するときの注意点は?
共有サーバーやOneDriveに置く場合、ファイルを「読み取り専用」で開かないとマクロが正常に動作しないケースがあります。対策として「マスターファイルは1つ、共有は結果(PDF等)だけ」というルールを設けるのが安全です。複数人が同時にマクロを実行すると競合が起きることもあるため、共有環境ではGASやクラウドツールへの移行を検討してください。

Q7. 昨日まで動いていたマクロが突然動かなくなりました。原因は?
最も多い原因は「エクセルやWindowsのアップデート」です。特にMicrosoft 365は自動アップデートが入るため、VBAの仕様変更で動かなくなることがあります。エラーメッセージをChatGPTに貼り付けて「このエラーの原因と修正方法を教えて」と聞けば、ほとんどの場合5分以内に解決します。定期的にバックアップを取っておけば、最悪の場合も前のバージョンに戻せます。

まとめ:マクロを「学ぶ」のではなく「AIに書かせて使う」

判断基準内容
削減効果月15〜20時間、年間180〜240時間(=年間36〜48万円相当)
必要スキルChatGPTに日本語で指示できれば十分。VBAの知識は不要
コスト0円(AIの無料版で完結)
リスク対策「ドキュメント化もAIに書かせる」で属人化を防止
最適な場面今のエクセル環境を活かしつつ、今すぐ効果を出したい時

今日から始める9分間アクション:

  1. 1分: ChatGPT(chat.openai.com)を開く
  2. 3分: この記事の例③(条件に合うデータの自動抽出)のプロンプトをコピペし、シート名と列名を自社のものに書き換える
  3. 5分: 生成されたコードをエクセルに貼り付けて実行(Alt+F11 → 挿入 → 標準モジュール → 貼り付け → F5

9分後、あなたのエクセルが「魔法のツール」に変わります。

「マクロとクラウドツール、どちらを選ぶべきか」を相談したい方はこちら。
👉 自社に合った自動化の方法を無料で相談する


関連記事


TOP > ブログ > ブログ > エクセルマクロ(VBA)による業務効率化の具体例10選|AIでコードを自動生成する方法も解説