- 更新日 : 2026年9月28日
CopilotでVBAを作成するには?無料版Copilotによるマクロ作成の手順とプロンプト例を解説
CopilotでのVBA作成は、無料のWeb版Copilotにプロンプトを送り、生成コードをExcelのVBEに貼り付けるだけで実現できます。
- 有償ライセンス不要・Web版で即コード生成
- プロンプトは処理対象・内容・出力先を明示
- 実行前にテスト用ファイルで動作確認が必須
Q. VBA未経験でもCopilotだけでエラーに対応できる?
A. エラーメッセージとコード全文をセットでCopilotに送り、修正後のコード全文を出力させる手順を繰り返せば、文法知識がなくても対応可能です。
CopilotでVBAを作成するには、無料のWeb版Copilotに日本語でプロンプトを送り、生成されたコードをExcelのVBE(Visual Basic Editor)に貼り付けて実行するだけで対応できます。本記事では、Copilot VBAの基本的な仕組みから、業務別のプロンプト例、エラー対処、安全性の確認方法まで、バックオフィス担当者向けに手順を解説します。
※(免責)掲載情報は記事作成日時点のものです。最新の情報は各AIサービスなどの公式サイトを併せてご確認ください。
CopilotでVBAを作る仕組みは?
Microsoft Copilotは、自然言語の指示からVBAマクロのコードを自動生成できるAIアシスタントです。無料で使えるWeb版でもコード生成に対応しており、有償ライセンスなしでExcel業務の自動化を始められます。
無料版Web Copilotでコードを生成できる
結論として、ブラウザからアクセスできるWeb版Copilot(copilot.microsoft.com)は、無料で利用でき、VBAコードの生成にも活用できます。Microsoftアカウントでサインインすると、チャット履歴など一部の追加機能も利用できます。
「CopilotでVBAを作るには高額なライセンスが必要では」と感じる方は多いでしょう。しかし、Web版Copilotは有料のCopilot in Excel(Excelにサイドパネルとして組み込まれたAIアシスタント機能)とは別物であり、無料の範囲でコード生成というテキスト出力を受け取れます。
Web版CopilotにVBAコードの作成を依頼する流れは以下のとおりです。
- ブラウザでWeb版Copilotを開く
- 「〇〇するExcel VBAマクロを書いて」とチャットで指示する
- 生成されたコードをコピーする
- ExcelのVBEに貼り付けて実行する
つまり、CopilotがVBAの「コード作成係」として働き、実行はローカルのExcel上で行うという役割分担になります。Excel画面内でAIが直接セルを操作してくれるCopilot in Excelとは異なりますが、コード生成そのものの精度は業務利用に十分なレベルです。なお、Copilot以外にもChatGPTのようなAIチャットでVBAマクロを生成する方法もあり、プログラミングの知識がなくても対話形式でコードを作成できる点は共通しています。
コード生成から実行までの全体像を押さえる
Copilot VBA活用の流れは、指示・生成・貼り付け・テスト・修正の5ステップに整理できます。この流れを押さえておくと、初めてでも迷わず作業を進められます。
| ステップ | やること | 使うツール |
|---|---|---|
| 1. 指示 | やりたい処理を日本語で伝える | Web版Copilot |
| 2. 生成 | AIがVBAコードを出力する | Web版Copilot |
| 3. 貼り付け | コードをVBEに貼り付ける | Excel(VBE) |
| 4. テスト | バックアップ上で動作確認する | Excel |
| 5. 修正 | エラー時はCopilotに再依頼する | Web版Copilot |
VBAの文法を詳しく覚える必要はなく、「何をしたいか」を日本語で的確に伝えるスキルさえあれば、マクロ開発の経験がなくても業務を自動化できるでしょう。
この記事をお読みの方におすすめのガイド4選
続いてこちらのセクションでは、この記事をお読みの方によく活用いただいている人気の資料・ガイドを簡単に紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
※記事の内容は、この後のセクションでも続きますのでぜひ併せてご覧ください。
AI活用の教科書
経理・人事・経営企画といった企業の基幹業務における具体的なユースケースをご紹介。
さらに、誰もが均質な成果を出せる「プロンプトのテンプレート化」や、安全なガバナンス構築など、個人利用から企業としての本格活用へステップアップするためのノウハウを凝縮しました。
人事労務担当者向け!Chat GPTの活用アイデア・プロンプトまとめ14選
人事労務業務に特化!人事労務・採用担当者がChat GPTをどのように活用できるのか、主なアイデアを14選まとめたガイドです。
プロンプトと出力内容も掲載しており、PDFからコピペで簡単に試すことも可能です。
経理担当者向け!Chat GPTの活用アイデア・プロンプトまとめ12選
経理業務に特化!経理担当者がChat GPTをどのように活用できるか、主なアイデアを12選まとめたガイドです。
お手元における保存版としてはもちろん、従業員への印刷・配布用としてもぜひご活用ください。
法務担当者向け!Chat GPTの活用アイデア・プロンプトまとめ12選
法務担当者がchat GPTで使えるプロンプトのアイデアをまとめた資料を無料で提供しています。
chat GPT以外の生成AIでも活用できるので、普段利用する生成AIに入力してご活用ください。
CopilotでVBA化すべき業務の見分け方は?
毎週・毎月繰り返す定型作業はVBAマクロ化の効果が高く、単発の集計や分析はCopilotへのチャット指示で済ませるほうが効率的です。
処理の頻度とデータ量に注目すると、マクロ化すべきかどうかを判断しやすくなります。以下の比較を参考にしてください。
VBAマクロ向きとCopilot直接指示向きの違い
| 判断基準 | VBAマクロ向き | Copilot直接指示向き |
|---|---|---|
| 頻度 | 週1回以上の繰り返し | 月1回以下・単発 |
| 処理内容 | 手順が決まっている定型処理 | 条件が毎回変わる分析 |
| データ量 | 数百〜数万行の大量データ | 少量データの確認・要約 |
| 具体例 | 月次売上の集計・転記 | 今月だけのグラフ作成 |
例えば、毎月届く売上CSVを部門別シートへ振り分ける作業は、一度マクロ化すればボタンひとつで完了します。一方、Copilot in Excelを利用できる環境であれば、「先月と今月の売上を比較してグラフにして」という一度きりの依頼なら、Copilotにチャットで指示するほうが早いでしょう。バックオフィスの業務を棚卸しして、「毎回同じ手順を踏んでいるもの」をリストアップするところから始めると、VBA化の優先度が見えてきます。
Power Automateとの使い分け
結論として、Excelブック内で完結する細かいデータ加工はVBAが得意で、Excel外のアプリやクラウドサービスをまたぐワークフローはPower Automate(パワーオートメイト)が得意です。
Power Automateは、Microsoftが提供するノーコード・ローコードの業務自動化ツールで、メール受信やTeams通知など複数のアプリ・サービス間を連携させる処理に向いています。一方VBAは、セル単位の書式変更や複雑な条件分岐によるシート内加工など、Excel特有の処理をきめ細かく制御できる点が強みです。「メールが届いたらExcelに転記する」ならPower Automate、「Excel内のデータを条件別に整形・転記する」ならVBAというように、処理の起点と範囲で使い分けるとよいでしょう。
参考:Power Automate とは?|Microsoft Learn
CopilotでVBAを作成・実行する手順は?
Copilotへのプロンプト作成からExcelでの実行まで、3つのSTEPで完結します。VBAの知識がなくても、手順どおりに進めればマクロを動かせるようになるでしょう。
STEP1:的確なプロンプトを作る
結論として、Copilotに精度の高いVBAコードを出力させるには「何を・どこに・どう処理するか」を明確に伝えるのがコツです。
曖昧な指示はエラーの原因になりやすいため、以下の要素を盛り込みましょう。
- 処理対象:シート名、セル範囲、列名を明示する(例:Sheet1のA列〜D列)
- 処理内容:具体的な動作を書く(例:B列が空欄の行を削除する)
- 出力先:結果の書き出し先を指定する(例:Sheet2のA1セルから貼り付ける)
- 形式の指定:「Excel VBAのSubプロシージャ(VBAにおける処理のまとまりを定義する基本単位)として出力して」と付け加える
実際のプロンプト例は以下のとおりです。
Excel VBAのSubプロシージャを作成してください。Sheet1のA1:D500の範囲で、B列が空欄の行をすべて削除し、残ったデータをSheet2のA1セルから貼り付けてください。
「Subプロシージャとして」と指定することで、Copilotがそのまま貼り付け可能な形式でコードを返してくれます。指定しないと、処理手順の説明文だけが返ってくるケースがあるため注意が必要です。
STEP2:VBEにコードを貼り付けて実行する
結論として、生成されたコードはExcelのVBEを開いて標準モジュールに貼り付け、保存形式を変更したうえで実行します。
手順は以下のとおりです。
- Excelファイルを開き、Alt + F11キーを押してVBEを起動する
- メニューバーの「挿入」から「標準モジュール」を選択する
- Copilotが生成したコードをコピーし、モジュールのコードウィンドウに貼り付ける
- F5キーを押してマクロを実行する
- ファイルを**.xlsm**(マクロ有効ブック)形式で保存する
保存時の形式には注意が必要です。通常の.xlsx形式で保存するとマクロが消えてしまうため、「名前を付けて保存」から「Excelマクロ有効ブック(.xlsm)」を選択してください。
STEP3:マクロのセキュリティ設定を確認する
結論として、マクロが実行できない場合はExcelのトラストセンター(セキュリティ設定を管理する画面)でマクロの設定を確認します。
確認手順は以下のとおりです。
- Excelの「ファイル」から「オプション」を開き、「トラストセンター」を選択する
- 「トラストセンターの設定」から「マクロの設定」を選択する
- 「警告を表示してすべてのマクロを無効にする」にチェックを入れる
- ファイルを開き直し、上部の黄色いバーで「コンテンツの有効化」をクリックする
「警告なしですべてのマクロを有効にする」は、悪意のあるマクロも実行してしまうリスクがあるため避けてください。「警告を表示して無効にする」設定であれば、ファイルごとに有効・無効を選べるため安全性とのバランスが取れます。なお、会社支給のPCの場合、IT管理者が組織のセキュリティポリシーでマクロの実行を制限していることがあります。設定を変更できない場合は、自己判断で回避せず、社内のIT管理者に確認しましょう。
参考:Excel のマクロのセキュリティ設定を変更する|Microsoft Support
業務別Copilot VBAプロンプト例は?
バックオフィスでよく発生する作業に対応したプロンプト例を業務別に紹介します。テンプレートとして活用できる形式にしているため、自社のシート名やセル範囲に置き換えれば取り入れやすいでしょう。
複数シートのデータを1枚に統合する
結論として、シート名とヘッダー行の扱いを明示すれば、複数シートの統合マクロを一度に生成できます。
月別や拠点別に分かれたシートを手作業で統合していないでしょうか。以下のプロンプトで、統合マクロを生成できます。
Excel VBAのSubプロシージャを作成してください。ブック内の「集計」シート以外のすべてのシートについて、A1:E列の最終行までのデータを「集計」シートに順番に貼り付けてください。ヘッダー行(1行目)は最初のシートのみ貼り付け、2枚目以降は2行目から貼り付けてください。
このプロンプトのポイントは、「ヘッダーの扱い」を明記している点です。指定しないとヘッダーが重複して貼り付けられ、後続の集計処理でエラーにつながるケースが多いため、必ず指示に含めてください。
条件に合う行を色付け・抽出する
結論として、条件と色の指定をRGB値まで明示すれば、意図どおりの抽出・色付けマクロが得られます。
経理業務で「未入金」のデータだけを抽出したい、期限超過の行に色を付けたい場面は多いでしょう。以下のプロンプトが活用できます。
Excel VBAのSubプロシージャを作成してください。Sheet1のD列「ステータス」が「未入金」である行の背景色を赤(RGB: 255, 200, 200)に変更してください。さらに、該当する行だけを「未入金一覧」シートにコピーしてください。「未入金一覧」シートが存在しない場合は新規作成してください。
色の指定にはRGB値を使うと、意図どおりの色になります。「赤」とだけ書くと原色の赤(RGB: 255, 0, 0)になり、画面が見づらくなることがあるため注意しましょう。
請求書データをシート別に分割する
結論として、分割の単位とシート名の付け方、重複時の扱いを指定すれば、取引先別の分割マクロを一度に生成できます。
取引先ごとに請求データを分けて管理したい場合のプロンプト例です。
Excel VBAのSubプロシージャを作成してください。Sheet1のA列「取引先名」のユニークな値ごとに新しいシートを作成し、該当する行をヘッダー付きでコピーしてください。シート名は取引先名にしてください。すでに同名のシートがあれば上書きしてください。
「すでに同名のシートがあれば上書き」という条件を入れておくと、毎月実行しても重複シートが増え続ける問題を防げます。Copilotへの指示では、こうした「例外パターン」を先回りして伝えるのが精度向上のコツです。
Copilot VBAでエラーが出たときの対処法は?
結論として、エラーが出た場合は「エラーメッセージ」と「コード全文」をセットでCopilotに送ると、修正コードが返ってきやすくなります。
どちらか一方だけでは的外れな回答になりやすいため、必ずセットで伝えるのがポイントです。
エラー解消専用プロンプトの型を使う
エラーが発生したとき、ただ「動きません」と伝えても的確な修正は得られません。以下のテンプレートを使うと、修正精度が上がります。
以下のExcel VBAコードを実行したところ、エラーが発生しました。 【エラーメッセージ】 (ここにエラーメッセージをそのまま貼る) 【実行環境】 Excelのバージョン:(例:Microsoft 365) 【コード全文】 (ここにコードを貼る) 原因と修正後のコード全文を出力してください。
Excelのバージョンを伝えるのは、バージョンによってサポートされる関数やオブジェクトが異なるためです。バージョン依存の問題は珍しくないため、実行環境の情報は必ず添えましょう。
修正ループを防ぐ指示のコツを押さえる
結論として、修正指示を「部分修正」ではなく「コード全文の書き直し」で依頼すると、修正ループに陥りにくくなります。
「エラーを直してもらったら別のエラーが出て、また直してもらったらさらに別のエラーが出る」——この修正ループに陥ると、時間だけが過ぎていきます。ループを防ぐには、以下の対策が有効です。
- 修正指示は「コード全文を最初から書き直して」と依頼する。部分修正の繰り返しは矛盾が生じやすい
- 数回修正しても解決しない場合は、チャットを新規に開き直してゼロから指示を出す
- 処理を分割する。1つのマクロに複数の処理を詰め込まず、「データ取得」「加工」「出力」を別々のSubプロシージャにする
なかでも「処理の分割」は効果が高いといえます。1つのマクロに多くの処理を詰め込むほど、どこでエラーが起きているかの切り分けが難しくなる傾向があります。処理を小さなSubプロシージャに分けて依頼すると、エラーの原因も特定しやすくなるでしょう。
Copilot VBAの生成コードの安全性を確認するには?
AIが生成したコードをいきなり本番ファイルで実行するのはリスクがあります。テスト用ファイルでの事前検証とコード内容の理解が、データ破損を防ぐ2つの柱です。
テスト用ファイルで必ず動作確認する
結論として、本番ファイルを直接実行する前に、コピーしたテスト用ファイルで動作を確認する手順を必須にしてください。
実行前のバックアップは「保険」ではなく「必須手順」と考えるべきです。手順は以下のとおりです。
- 本番ファイルをコピーし、ファイル名に「_test」を付けて別名保存する
- テスト用ファイルでマクロを実行し、処理結果が期待どおりか確認する
- 問題がなければ本番ファイルで同じマクロを実行する
- 本番実行前にも、直前のバックアップを別フォルダに保存しておく
例えば、大量の売上データを加工するマクロなら、数十〜百行程度に絞ったテストデータで先に試すと、万が一の修正もすぐに対応できます。
コードの挙動をCopilotに日本語で解説してもらう
結論として、中身が分からないコードは実行前にCopilotへ解説を依頼すると、意図しないデータ消去を防ぎやすくなります。
そんなときは、Copilotに以下のプロンプトを送ってみてください。
以下のVBAコードが何をしているか、1行ずつ初心者向けの日本語で解説してください。データの削除や上書きを行う箇所があれば、特に強調してください。 (ここにコード全文を貼る)
「データの削除や上書きを行う箇所を強調して」と付け加えるのがコツです。Copilotが警告付きで教えてくれるため、VBAの読み書きができなくても、AIの解説を通じてコードの安全性を判断できるようになるでしょう。
Copilot VBAに関するよくある質問
Copilot VBAに関するよくある質問をまとめました。
Excel内蔵のCopilotとWeb版Copilotの違いは?
Excel内蔵のCopilot(Copilot in Excel)は、Excelのリボンからサイドパネルを開いてセルの編集や数式生成をAIに直接依頼できる有償機能です。一方、本記事で扱う無料のWeb版Copilotは、チャット画面でVBAコードのテキストを生成するだけで、実際の貼り付けと実行はユーザーがVBE上で行う必要があります。目的や契約状況に応じて、どちらを使うか使い分けるとよいでしょう。
参考:Excel の Copilot の使用を開始する|Microsoft Support
無料版Copilotでのコード生成に回数制限はある?
無料版Copilotは、Microsoftアカウントへのサインインの有無によって、1回の会話で利用できるやり取りの回数や履歴保存の可否が変わる場合があります。VBAコードの生成を継続的に行いたい場合は、サインインした状態で利用するほうが安定して作業を進めやすいでしょう。
VBA未経験でもCopilotだけでエラーに対応できる?
VBA未経験でも対応は可能です。エラーメッセージとコード全文をセットでCopilotに送り、修正後のコード全文を出力させる、という手順を繰り返せば、文法の知識がなくてもエラーを解消できる可能性はあります。ただし、実行前のテストとバックアップは必ず行いましょう。
Copilot VBAでExcel業務を自動化するために押さえること
CopilotでVBAを作成するには、無料のWeb版Copilotに具体的な指示を出し、生成されたコードをVBEに貼り付け、テスト環境で動作や処理結果を確認したうえで利用することが重要です。。業務の頻度や処理内容を見極めてVBA化する対象を選び、テスト環境での検証とセキュリティ設定の確認を徹底すれば、VBA未経験でも安全にCopilot VBAによる自動化を進められるでしょう。まずは毎月同じ手順を踏んでいる作業をひとつ選んで試してみましょう。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
-
# AIの活用方法
ChatGPTで領収書を発行する方法とは?API利用時の取得方法も
ChatGPTを有料プランで利用していると、経費精算などで「領収書や請求書を発行したい」という場面が必ず出てきます。しかし、支払い方法によって取得先が異なり、ブラウザ版・Apple…
詳しくみる -
# AIの活用方法
Claudeの制限解除はいつ?5時間ルールの確認方法と回避策を解説
Claudeの利用制限は、単純な1日の回数制限ではなく、5時間ごとにリセットされるスライド制です。また、過去の会話履歴の量によっても送信できる回数が大きく変動します。 この記事では…
詳しくみる -
# AIの活用方法
ChatGPTのGPT-4.1とは?強みや廃止日・後継モデルを解説
生成AIのモデル選択で迷ったときは、「精度・速度・コストのどれを優先するか」を先に決めると判断が早くなります。ChatGPT 4.1(GPT-4.1)は推論特化モデル(o系)とは異…
詳しくみる -
# AIの活用方法
AIによる不動産査定とは?メリット・注意点・経営判断への活かし方を解説
AIによる不動産査定とは? AIによる不動産査定は、過去の取引データを分析し物件の概算価格を数分で算出する仕組みです。 匿名・無料で短時間査定が可能 マンションは精度高、一戸建ては…
詳しくみる -
# AIの活用方法
GitHub Copilot Enterpriseでできること・料金を解説
Copilot Enterpriseの特徴とBusinessプランとの違い Copilot Enterpriseは、GitHubが提供する最上位の開発支援プランで、自社独自のソース…
詳しくみる -
# AIの活用方法
MATLAB Copilotとは?できることや導入方法、GitHub Copilotとの違いを解説
MATLAB Copilotでできることは? MATLAB CopilotはMathWorks公式の生成AIで、自然言語によるコード生成・エラー解説・Excel連携スクリプト作成に…
詳しくみる



