Excel VBAの代わりにAIで自動化|マクロなし手順を解説
PR・アフィリエイトについて
当サイトはアフィリエイトプログラムを利用しており、紹介リンク経由での申込により報酬を得る場合があります。記事内で紹介するサービスには筆者が実際に使用しているものと、客観情報として比較掲載しているもの(未使用・PR表記あり)が含まれます。
ExcelのVBAの代わりにAIを使う方法|マクロなしで自動化する具体手順#
VBAを1行も書かずに、AIを使ってExcelの繰り返し作業を自動化できます。ChatGPT・Claudeにやりたいことを日本語で伝えればコードが出る。Microsoft 365 CopilotならExcelの画面の中に直接AIが組み込まれているので、コードを貼り付ける手間すら不要なケースもあります。
結論
- ChatGPT・Claude(無料版あり):「○○するVBAを書いて」と頼むとコードが出る。貼って実行するだけ
- Microsoft 365 Copilot(要サブスクリプション):ExcelにAIが内蔵。画面の中で直接指示できる
- Googleスプレッドシート+Apps Script:ブラウザだけで定期自動実行まで完結できる
なぜ今ExcelのVBAが「壁」になっているのか#
毎月の売上集計、部署ごとの抽出、フォーマット変換——こういった作業はExcel職人が「マクロを組んでおきました」と言えば話が早い。でも、その職人が退職した途端にブラックボックス化する。
前任者が残したVBAファイルの中身が読めず、列を1列増やしただけで突然エラーが出て半日潰れた——そんな経験をした方も多いのではないでしょうか。
VBAの主な壁は3つあります。
| 壁 | 具体的な困りごと |
|---|---|
| 習得コスト | 構文・オブジェクト操作を体系的に学ぶ必要がある |
| メンテナンス | 書いた本人しか直せないブラックボックスになりやすい |
| バージョン依存 | ExcelのバージョンやOSによって動かないことがある |
「自分で書けるようになるまで待つ」では業務が止まる。でもAIを使えばこの壁を今すぐ乗り越えられます。
AIはVBAの「代わり」になれるのか?#
結論から言えば、多くのケースでなれます。ただし「完全な置き換え」というより「AIに相談しながら壁を乗り越える」イメージが正確です。
試してわかったのは、次の3つのアプローチが現実的だということ。
① ChatGPT・ClaudeにVBAコードを書いてもらう 「○○列のデータを条件で抽出して別シートに貼り付けるVBAを書いて」と頼むと、そのまま使えるコードを生成してくれます。プログラミング知識ゼロでも「このコードをどこに貼ればいいですか?」まで聞けるのが強みです。
② Microsoft 365 Copilotを使う(後述) Microsoft 365を契約している場合、Excel画面の中に直接AIが組み込まれています。セルを選んで「この列を条件でフィルターして集計して」と自然言語で指示できます。VBAコードを自分で貼り付ける作業すら不要です。
③ Googleスプレッドシート+Apps Scriptを活用する ExcelをGoogleスプレッドシートに移行できる場合、Apps Scriptという仕組みで自動化できます。ChatGPTに「Googleスプレッドシートで○○を自動化するApps Scriptを書いて」と頼む流れはVBAと同じです。筆者も月次の数値集計をこの方法でスプレッドシートに移行し、手作業の時間を体感で週2〜3時間ほど削れました(個人の作業内容・環境によります)。
メモ
AIに頼むだけで「何もしなくていい」わけではありません。コードを貼る場所・実行方法・テスト確認は自分でやる必要があります。手順を理解せずに動かすと、意図しないデータ書き換えが起きるリスクもあります。
Microsoft 365 CopilotでExcelをAI化する#
2024年以降、Microsoft 365のCopilot機能がExcelに組み込まれました。ExcelのリボンメニューからCopilotボタンをクリックするだけで、右側にAIチャット画面が開きます。
Copilotでできる主な操作:
- 「売上列の合計を出して」→ 自動でSUM関数を挿入
- 「部門ごとに集計した表を作って」→ ピボットテーブルを自動生成
- 「このデータのトレンドを教えて」→ グラフの候補を提示
- 「条件に合う行だけ抽出して」→ フィルター処理を代行
VBAコードを貼り付ける操作が不要な分、3つのアプローチの中で技術的なハードルは最も低いです。
メモ
Microsoft 365 CopilotはMicrosoft 365のプランによって利用可否が異なります。会社支給のPCでは社内ポリシーで制限されていることもあるため、IT管理部門か現在のプラン設定を確認してください。個人でMicrosoft 365を契約している場合は、Microsoftの公式サイトで最新の対応プランを確認するのが確実です。
ChatGPT・Claudeとの最大の違いは「ブラウザを別に開かなくていい」点です。作業中のExcelファイルをそのままAIに見せながら指示できるため、操作の往復が少なくなります。
実際の手順:ChatGPTでVBAを作ってもらう#
Microsoft 365 Copilotが使えない環境(個人PC・古いExcel・会社ポリシーの制限)では、ChatGPT・Claudeでコードを生成する方法が有効です。
具体例として「A列の商品名でフィルターし、B列の数値を合計して別シートに出力する」処理を想定して手順を説明します。
手順
- Excelのファイル構成をAIに伝える
「Sheet1のA列に商品名、B列に売上金額、C列に日付が入っています」のように、列の内容を具体的に説明する。
- やりたい処理を日本語で書く
「商品名が"りんご"のものだけをフィルターして、B列の合計をSheet2のA1に出力するVBAを書いてください」と依頼する。
- ExcelのVBAエディタにコードを貼る
ExcelでAlt+F11を押してVBAエディタを開く。「挿入」→「標準モジュール」でコードを貼り付ける。
- F5で実行して結果を確認する
エラーが出たらメッセージをそのままAIに貼って「このエラーが出ました、修正してください」と聞く。
- 本番データで動かす前にコピーファイルでテストする
必ずバックアップを取ってから本番運用に移る。これは鉄則。
最初のプロンプトで完璧に動くコードが出るのは体感で7〜8割程度です。残り2〜3割はエラーが出ますが、エラーメッセージをそのまま貼って「修正して」と頼めば2〜3往復でほぼ解決できます。最初から完璧を求めず、対話しながら修正する前提で使うのがコツです。
コピペで使えるプロンプト例#
「何と頼めばいいかわからない」という方向けに、そのまま使えるプロンプトをまとめました。[ ]の部分を自分の状況に合わせて書き換えてください。
抽出・フィルタリング系
Sheet1のA列に[商品名]、B列に[売上金額]、C列に[日付]があります。
A列が"[条件の値]"のものだけを抽出して、Sheet2に一覧を出力するVBAを書いてください。
集計系
Sheet1のA列に[部門名]、B列に[数値]があります。
A列の値ごとにB列を合計し、Sheet2に部門名と合計値の一覧を出力するVBAを書いてください。
書式統一系
Sheet1のA列に日付が"[20260101]"のような8桁の数字で入っています。
これを"[2026/01/01]"の形式に一括変換するVBAを書いてください。
エラーが出たとき
以下のエラーが出ました。原因と修正方法を教えてください。
エラーメッセージ:[ここに貼り付け]
コード:[生成されたコードをここに貼り付け]
メモ
プロンプトの精度を上げる最大のコツは「列の中身を具体的に書くこと」です。「A列に名前があります」より「A列に"山田太郎"のような氏名が1行1件ずつ入っています」と書くほど、意図に合ったコードが出ます。
ClaudeとChatGPT、どちらが向いているか#
どちらもVBAコードの生成は得意ですが、使い分けのポイントがあります。
| 比較 | ChatGPT | Claude |
|---|---|---|
| 無料プラン | あり | あり |
| コード生成の速さ | 速い | 同等 |
| コードへの説明 | 簡潔 | 詳しく丁寧 |
| 複雑な条件分岐 | 得意 | 得意 |
| エラー修正 | 対話で解決できる | 対話で解決できる |
両ツールとも無料プランから試せます。VBAコードの生成・修正だけであれば無料プランで大部分の作業に対応できます。処理が複雑になる・長いコードを扱う・複数ファイルを同時に分析したい、といった場面で有料プランの余裕が活きてきますが、まず無料で試して判断するのが現実的です。
筆者の使い分けは「とにかく早くコードが欲しいときはChatGPT、他のスタッフに渡すコードを作るときはClaude」です。Claudeは「このコードはこういう処理をしています」という注釈を添えてくれるため、後で見返したときに意図が伝わりやすいためです。
メモ
ChatGPTもClaudeも、Excelファイルを直接アップロードして「このファイルのデータを分析して」という使い方ができます。ただしExcelには個人情報や機密情報が含まれることが多いので、アップロード前にデータをマスキングするか、匿名化したサンプルデータに置き換えてから使うことを強く推奨します。
AIで自動化できること・難しいこと#
何でもAIで解決できるわけではありません。適用範囲を正しく理解しておくことが重要です。
メリット
- 繰り返し作業(毎月・毎週同じ手順の処理)
- 条件での抽出・フィルタリング・並び替え
- 集計・合計・平均・件数の計算
- 書式の統一(日付形式・表記ゆれの整理)
- 複数シート・複数ファイルのデータ結合
デメリット
- 紙や画像スキャンからのデータ入力(OCRは別ツールが必要)
- リアルタイムの外部データ自動取得(株価・在庫システム連携)
- 高度な帳票デザイン・複雑なグラフィック処理
- 業務ルールが100以上絡む極めて複雑なロジック
「Excelのまま」か「スプレッドシートに移行」か#
Googleスプレッドシートに移行できるなら、自動化の選択肢が大きく広がります。
| 比較項目 | Excel + VBA | Googleスプレッドシート + Apps Script |
|---|---|---|
| 実行環境 | ローカルPC必須 | ブラウザだけで動く |
| 自動実行のトリガー | 手動起動が基本 | 時刻・フォーム送信でトリガー可 |
| 共同編集 | 難しい(ファイル排他) | 複数人がリアルタイムで編集可 |
| 既存ファイルとの互換性 | そのまま使える | 移行作業が必要 |
業務でWindowsのExcel固定なら無理に移行する必要はありません。ただし「毎週決まった時刻に自動でデータを更新したい」「複数人がリアルタイムで使いたい」という場合は、スプレッドシートへの移行を検討する価値があります。
非エンジニアが陥りやすい3つのミス#
① 「全部AIに任せればいい」と思い込む AIはコードを生成してくれますが、「自分のデータがどういう構造か」「何をしたいか」を正確に伝えるのは自分の仕事です。曖昧なプロンプトからは曖昧なコードが出ます。「A列に商品名があります」より「A列に"りんご""みかん""バナナ"などの文字列が入っています」と具体的に伝えるほど精度が上がります。
② バックアップを取らずに実行する VBAは実行すると元に戻せない変更をする場合があります。本番ファイルに直接実行するのは避け、コピーでテストしてから移行しましょう。
③ エラーで「使えない」と諦める エラーメッセージをそのままAIに貼って「修正して」と聞けば高確率で解決します。エラーは「対話の材料」です。
注意
会社のExcelに機密データ(顧客情報・財務情報)が含まれている場合、ファイルをAIにそのままアップロードしないでください。データをマスキングしたサンプルで質問するか、コードの生成だけに絞って使いましょう。社内ポリシーの確認も必須です。
もっと先へ進みたいなら#
VBAの代替として使い始めたAIが、「日常業務全体の効率化」に変わるまでにはもう一段のステップがあります。プロンプトの書き方・業務フローへの組み込み方・複数ツールの連携を体系的に学びたい方には、AI活用スクールも選択肢のひとつです。
PRおすすめAIビジネス活用スクール非エンジニアがAIで業務を効率化するスキルを短期間で習得できる講座。まず無料カウンセリングで自分の課題に合ったコースを相談できる。成果を保証するものではありませんが、独学の限界を感じている方の参考に。まとめ#
- ExcelのVBAはChatGPT・Claudeに日本語で依頼するだけでコードを生成できる(無料プランで試せる)
- Microsoft 365 CopilotならExcel画面の中にAIが入っているのでコードの貼り付け不要
- コードを貼る→実行する→エラーをAIに渡す、の繰り返しで非エンジニアでも動かせる
- Googleスプレッドシートに移行できれば、定期自動実行など自動化の幅がさらに広がる
- 機密データのアップロードには注意し、サンプルデータで試す習慣をつける
VBAが読めなくても、プログラミングを勉強しなくても、AIを「壁打ち相手」として使えばExcelの面倒な繰り返し作業はかなり自動化できます。まずは一番時間がかかっている小さな処理を1つ、試してみてください。
よくある質問#
ChatGPTが生成したVBAコードは安全ですか?#
基本的な集計・抽出処理であれば大きなリスクはありませんが、実行前に必ずファイルのバックアップを取ることを推奨します。実行前に「このコードは何をしていますか?」とAIに説明させて内容を確認してから動かすのが安全な使い方です。意図しないシート全削除などを防ぐためにも、本番前のテストは必須です。
ExcelをGoogleスプレッドシートに移行するのは大変ですか?#
単純な表形式のデータであれば、ファイルをGoogleドライブにアップロードするだけで自動変換されます。ただしVBAマクロやExcel固有の関数の一部は変換されないため、移行後の動作確認が必要です。既存ファイルが複雑な場合は移行コストを事前に見積もり、段階的に移行するのが現実的です。
AIでコードを書いてもらうとExcelスキルが落ちませんか?#
コードを手書きする能力は使わなくなりますが、「何をしたいかを正確に言語化するスキル」「コードの意味を読み解くスキル」は確実に上がります。AIが出したコードを丸投げで使い続けるのではなく、「これは何をしているのか」を毎回確認する習慣をつけると、エラー対応力や応用力が自然と身につきます。
ChatGPT・Claudeは有料プランでないと使えませんか?#
どちらも無料プランで利用できます。VBAコードの生成・修正だけであれば無料プランで大部分の作業に対応できます。処理が複雑になる・扱うデータ量が多い・長い会話を続けたいといった場面で有料プランの余裕が活きてきますが、まずは無料で試してから判断するのが現実的です。