【2026年7月最新】VBAマクロ入門完全ガイド|マクロの使い方からClaude Codeで自動生成する方法まで
この記事の内容
「Excelの繰り返し作業をマクロで自動化したい。でもVBAって難しそう…」——経営者・マネージャー・事務スタッフの多くが、この壁にぶつかります。
VBAマクロはExcelで最も強力な自動化ツールですが、プログラミング未経験者には「コードを書く」という作業がハードルになります。しかし2026年現在、Claude CodeなどのAIにVBAコードを書かせることで、プログラミング知識なしにVBAマクロを活用できる時代になっています。
この記事では、VBAとマクロの基礎知識から実際の使い方まで丁寧に解説し、さらにClaude CodeでVBAコードを自動生成してExcel業務を自動化する最短ルートを紹介します。
01 VBA vs MACRO VBAとマクロの違い——混同されやすい2つの概念を整理 「マクロ」と「VBA」は何が違うのか、正確に理解する
VBAとマクロは混同されがちですが、厳密には異なる概念です。まずここを整理しましょう。
📚 用語解説
マクロ(Macro):Excelで記録・実行できる操作の自動化手順のこと。「マクロの記録」機能を使うと、キーボードやマウスの操作を記録してボタン1つで再実行できる。記録された操作は内部的にVBAコードとして保存されるが、ユーザーはコードを意識せず使える。
📚 用語解説
VBA(Visual Basic for Applications):MicrosoftのOffice製品(Excel・Word・Access等)専用のプログラミング言語。マクロの記録では対応できない複雑な処理(条件分岐・繰り返し・外部ファイル操作など)をコードで記述する。VBAを使うと「マクロの記録」より格段に高度な自動化が可能になる。
| 比較軸 | マクロ(記録) | VBA(コード記述) |
|---|---|---|
| 作成方法 | ボタンを押して操作を記録するだけ | コードエディタ(VBE)でコードを書く |
| プログラミング知識 | 不要 | 必要(またはAIに書かせる) |
| 対応できる処理 | 定型的な繰り返し操作 | 条件分岐・ループ・ファイル操作・API連携まで |
| 柔軟性 | 低い(記録した手順通りにしか動かない) | 高い(あらゆる処理をカスタマイズ可能) |
| 向いているケース | 「毎日同じ手順で集計する」など完全定型作業 | 「条件に応じて処理を変える」複雑な自動化 |
関係性をシンプルに表現すると:「マクロの記録」で作ったものは、裏側でVBAコードになっている。VBAを直接書くことで、マクロの記録では実現できない高度な自動化ができる——これがVBAとマクロの関係です。
VBAをゼロから学ぶ必要はありません。「マクロの記録」で操作を録画してみて、生成されたVBAコードを覗いてみることが、VBA学習の最も効率的な入り口です。
02 SETUP Excelでマクロを使う準備——開発者タブの表示と設定 初期設定2ステップで、今日からマクロが使えるようになる
Excelでマクロ・VBAを使うには、①開発者タブを表示すると②マクロのセキュリティ設定を変更するという2つの準備が必要です。
2-1. 開発者タブを表示する
この操作でExcelのリボン(上部のメニューバー)に「開発」タブが表示されます。マクロの記録・VBAエディタの起動・ボタン挿入など、マクロ関連の機能はほぼ全てここから操作します。
Mac版Excel(Microsoft 365)でも同様の設定が可能です。「Excel→環境設定→リボンとツールバー」から「開発」タブを有効化できます。
2-2. マクロのセキュリティ設定
Excelはデフォルトでセキュリティのためマクロを無効化しています。信頼できるファイルのマクロを実行するには、セキュリティ設定の変更が必要です。
「すべてのマクロを有効にする」設定にすると、悪意のあるマクロが含まれたExcelファイルを開いたとき、自動的に実行されるリスクがあります。「警告を表示してすべてのマクロを無効にする」に設定し、都度確認して実行するのが最も安全な運用です。
📚 用語解説
トラストセンター(Trust Center):Officeアプリケーションのセキュリティ設定を管理する場所。マクロの実行許可・信頼できる場所の設定・アドインの管理などができる。Excelのセキュリティは「使いやすさ」と「安全性」のトレードオフで設定する。
03 BASIC OPERATIONS マクロの作成・実行・停止——基本操作ガイド 「マクロの記録」から実行・ボタン登録まで一通りマスターする
ここでは実際にマクロを作成・実行する手順を解説します。プログラミングなしで使える「マクロの記録」から始めましょう。
3-1. マクロの記録——操作を録画する
記録中は、Excelへの全ての操作(セルの選択・入力・書式変更・計算式入力など)がVBAコードとして記録されます。マクロ名は「月次集計」「データ整形」など、処理内容がわかる名前をつけましょう。
「マクロの記録」開始時に「ショートカットキー」欄にアルファベットを入力すると、Ctrl+英字でマクロを呼び出せます(例:Ctrl+Shift+Rで月次集計マクロを実行)。頻繁に使うマクロには必ず設定しましょう。
3-2. 記録したマクロの実行
記録したマクロを実行する方法は3つあります:
3-3. マクロボタンを作成する
現場スタッフが毎日使うマクロは、シート上にボタンを作成して1クリックで実行できるようにすると使いやすくなります。
3-4. マクロの停止・強制終了
マクロが予期せず無限ループに入った・処理が止まらない場合の停止方法:
マクロを強制停止した場合、処理が途中で止まっているため、ファイルが壊れた状態になっていることがあります。停止後は必ずファイルを別名保存して状態を確認しましょう。
04 VBA BASICS VBA入門:コードの基本文法と実用サンプル 非エンジニアが押さえるべきVBAの最小知識セット
ここでは、VBAの基本的な文法要素を「経営の言葉」に置き換えて解説します。プログラミングの概念を業務フローのアナロジーで理解すると、VBAコードが読みやすくなります。
4-1. VBAの基本構造——Subプロシージャ
📚 用語解説
Sub(サブルーチン・プロシージャ):VBAで定義する処理の単位。「Sub マクロ名()」から始まり「End Sub」で終わる。この間に書いたコードが、マクロを実行したときに上から順番に実行される。就業規則で言えば「業務手順書の1章」に相当。
全てのVBAマクロは「Sub」で始まり「End Sub」で終わります。以下は最もシンプルなVBAコードの例です:
Sub 挨拶メッセージを表示()
MsgBox "こんにちは!VBAが動きました。"
End Sub
「Sub」=「以下の手順を実行せよ」という宣言、「MsgBox」=「メッセージを表示しなさい」という命令です。
4-2. 変数——「一時メモ」を使う
📚 用語解説
変数(へんすう):計算や処理の途中で値を一時的に記憶しておく「名前付きの箱」。プログラムで言う変数は、就業規則における「設定値」や「パラメーター」に相当。例:「月末日 = 31」という変数を定義しておけば、後のコードで「月末日」と書くだけで31という数字が使える。
Sub 変数の例()
Dim 売上 As Long ' 売上を記憶する箱を作る
Dim 担当者名 As String ' 文字を記憶する箱を作る
売上 = 1000000 ' 100万円を代入
担当者名 = "山崎"
MsgBox 担当者名 & "の売上は" & 売上 & "円です"
End Sub
4-3. セル操作——Excelの基本はセルの読み書き
VBAでExcelを操作するとき、最も頻繁に使うのがセルの読み書きです。
Sub セル操作の例()
' A1セルに「月次売上」と書く
Range("A1").Value = "月次売上"
' B1セルの値を変数に読み取る
Dim 金額 As Long
金額 = Range("B1").Value
' C1セルに計算結果を書く
Range("C1").Value = 金額 * 1.1 ' 10%増し
End Sub
4-4. ループ——繰り返しはForで
📚 用語解説
For Next ループ:指定した回数だけ同じ処理を繰り返す構文。「1行目から100行目まで同じ処理をする」「全シートに同じ書式を適用する」といった繰り返し作業に使う。Forが「繰り返し開始」、Nextが「次に進む」。
Sub 繰り返しの例()
Dim i As Integer
' 1行目から10行目まで、A列に通し番号を入力
For i = 1 To 10
Cells(i, 1).Value = i ' (行, 列)でセルを指定
Next i
End Sub
VBAで最低限覚えるべきは「Sub〜End Sub」の構造だけです。実際のコードは「Claude CodeなどのAIに書いてもらう」のが最も効率的。次章で詳しく解説します。
05 USE CASES 【業務別】VBAマクロで自動化できるExcel業務一覧 「うちの業務はVBAで自動化できるか?」への回答
VBAマクロで自動化できる業務は幅広いですが、特に効果が大きいカテゴリを整理します。
| 業務カテゴリ | VBAで自動化できる具体例 | 削減効果(目安) |
|---|---|---|
| データ集計・レポート | 複数シートのデータを1枚に集約・月次サマリー作成 | 週2〜3時間→15分 |
| データ整形・クリーニング | 不規則なフォーマットの統一・重複削除・空白除去 | 30分→1〜2分 |
| ファイル操作 | 特定フォルダの全Excelファイルを一括処理・PDF変換 | 1時間→5分 |
| メール送信 | 顧客リストから個別メールを自動送信(Outlook連携) | 2時間→10分 |
| 書類作成 | 見積書・請求書の雛形に顧客データを自動転記 | 30分→2分 |
| グラフ生成 | 毎月同じグラフを自動更新・スライドに貼り付け | 1時間→5分 |
5-1. データ集計の自動化(最もコスパが高い)
営業部門で週次・月次のデータ集計をExcelで手作業しているケースは非常に多く、VBAで自動化できる典型的なユースケースです。例えば:
これらは全て「同じ手順の繰り返し」であり、VBAの最も得意な領域です。1度マクロを作れば、毎月数時間の作業が数分に短縮されます。
5-2. 書類作成の自動化(非エンジニアに特に人気)
見積書・注文書・請求書など、毎回同じフォーマットに顧客情報と金額を入力する作業は、VBAで完全自動化できます。顧客マスタ(Excelリスト)から情報を読み取り、書類テンプレートに自動転記してPDF化するマクロは、特に経理・営業事務での活用例が多い典型的なユースケースです。
顧客情報を読み込む
自動転記
自動計算
指定フォルダに保存
自動命名
5-3. ファイル操作の自動化
複数のExcelファイルを一括処理するVBAは、特定フォルダ内のファイル全てに同じ処理を適用するケースで強力です。例えば「月次データを格納したフォルダ内の全Excelを開いて、シート1のA1:D20のデータを集計用ブックに転記する」という処理は、数百ファイルあっても数分で完了します。
5-4. Outlook連携:メール送信の自動化
VBAはOutlookと連携してメール送信を自動化できます。顧客リストのExcelから1件ずつ宛先・件名・本文を読み取り、個別に送信するというシナリオが代表的です。
Outlook連携VBAでメール一括送信する場合、最初は「送信ではなく下書き保存」に設定してテストしましょう。意図しない宛先への送信・本文ミスは取り消せません。送信先を絞ったテスト実行を必ず先に行ってください。
06 VBA VS CLAUDE 【比較】VBAマクロ vs Claude Code——どちらで自動化すべきか Excel内完結 vs AIエージェント、使い分けの判断基準
「VBAマクロ」と「Claude Code」、どちらを選んでExcel業務を自動化すべきか?これは多くの経営者・担当者が迷うポイントです。
| 比較軸 | VBAマクロ | Claude Code |
|---|---|---|
| 作成難度 | 中(自分でコードを書く必要がある) | 低(日本語で指示するだけ) |
| 得意な処理 | Excel内の定型作業・大量ループ・書式操作 | 文書生成・判断・要約・多様な形式への変換 |
| 対応範囲 | Officeアプリ内(Excel・Word・Outlook) | ほぼ全業務(テキスト・コード・データ) |
| 実行速度 | 高速(Excel内で直接動く) | 速い(APIレスポンス次第) |
| メンテナンス | 仕様変更時にコード修正が必要 | 指示文の変更だけで対応できることが多い |
| コスト | 無料(Excel付属) | 月1〜3万円 |
弊社の判断基準はシンプルです。「処理手順が完全に固定されているか?」——YESならVBAが向いている。「毎回少し内容が変わるか?」「判断が必要か?」——YESならClaude Codeが向いています。
07 AI GENERATES VBA Claude CodeでVBAマクロを自動生成する実践ガイド プログラミング不要でVBAを作る最短ルート
最大のポイントは、VBAコードを自分で書く必要がないことです。Claude Codeに「こんな処理をするVBAコードを書いて」と日本語で指示するだけで、動作するVBAコードが生成されます。
7-1. Claude CodeへのVBA依頼の具体例
実際にClaude Codeに以下のような指示をするだけで、VBAコードが生成されます:
日本語で整理
VBA生成を依頼
VBEに貼り付け
動作確認
「エラーが出た」と相談
7-2. 生成したVBAをExcelに貼り付ける手順
Claude Codeが生成したVBAコードをExcelで使うには:
VBAコードを実行してエラーが出た場合、そのエラーメッセージをそのままClaude Codeに貼り付けて「このエラーが出た。修正して」と伝えれば、修正版のコードが生成されます。「エラーを自分で直す」必要はありません。
7-3. Claude Code × VBA の実践例:月次レポート自動化
弊社GENAIで実際に使っている事例を紹介します。月次の売上データをまとめるレポート作成を、Claude Code + VBAで完全自動化しています。
データを1枚に集約(5秒)
自動生成(10秒)
「分析コメント」を生成(30秒)
自動転記してPDF化(5秒)
この一連のフローが50秒以内で完了します。以前は担当者が2〜3時間かけていた作業が、ボタン1つになりました。
7-4. VBAコードのデバッグもClaude Codeに頼む
VBAコードが思い通りに動かないとき、エラー内容をそのままClaude Codeに貼り付けて「このVBAでエラーが出た、直して」と伝えれば、修正版コードが返ってきます。プログラミング未経験者が自分でデバッグ(バグ修正)するより、Claude Codeに任せる方が圧倒的に速く正確です。
Claude Codeへの修正依頼は「①エラーメッセージ②元のVBAコード③やりたかった処理の説明」の3点を伝えると、精度の高い回答が返ってきます。情報が多いほど適切な修正版が一発で出てきます。
7-5. よく使うVBAコードのパターン集(Claude Code生成例)
Claude Codeに依頼する際の参考として、よく使われるVBAパターンを紹介します。実際の業務でよく出てくるコードの「要求文の書き方」です:
| やりたいこと | Claude Codeへの依頼文 |
|---|---|
| A列のデータを全行集計 | 「A列の1行目から最終行まで合計してB1に表示するVBAを書いて」 |
| 条件でセルに色をつける | 「C列の値が100以下のセルを赤色にするVBAを書いて」 |
| 重複データを削除 | 「A列の重複を削除して、残った値を上詰めするVBAを書いて」 |
| 全シートを処理 | 「ブック内の全シートのA1にシート名を入力するVBAを書いて」 |
| Outlookでメール送信 | 「ExcelのA列のメールアドレスに、B列の件名でCラム列の本文を送るVBAを書いて」 |
7-6. VBA活用で陥りやすい罠と対処法
VBAを使い始めたときによく起きる失敗パターンと、その対処法を整理します。
08 SUMMARY まとめ VBAマクロ入門とAI活用の結論
この記事で解説した内容をまとめます。
VBAマクロは「自分でコードを書かなければいけない」ものではなくなっています。Claude Codeに指示すれば、日本語でやりたいことを伝えるだけでコードが生成されます。「VBAは難しそう」という固定観念を捨てて、まず試してみてください。
cc-vba-macroNEXT STEP
この記事の内容を、あなたのビジネスで
実践してみませんか?
AI活用を自社で回せるようになりたい方へ
AI鬼管理
Claude Code・Cowork導入支援から業務設計・社内浸透まで実践ベースで伴走。「自社で回せる組織」を90日で作る経営者向けトレーニング。
よくある質問
Q. VBAとマクロは何が違いますか?
A. マクロはExcelの操作を自動化する仕組み全体を指し、VBAはマクロを記述するためのプログラミング言語です。「マクロの記録」機能で作ったマクロも、内部はVBAコードとして保存されています。現場では「VBAで書いたマクロ」という表現が一般的で、実質的に同じ意味で使われることが多いです。
Q. プログラミングの知識がなくてもVBAマクロを使えますか?
A. はい、2つの方法があります。①「マクロの記録」機能を使う——操作を録画するだけでコードを書かずにマクロが作れます。②Claude CodeなどのAIにVBAコードを書いてもらう——「こんな処理をするVBAを書いて」と日本語で指示するだけでコードが生成されます。2026年現在は②の方法が最も効率的です。
Q. Claude CodeでVBAを生成するとき、どんな指示を出せばいいですか?
A. 「自動化したい操作を日本語で具体的に説明する」だけでOKです。例:「A列に商品名、B列に数量、C列に単価が入っているExcelで、D列に金額(数量×単価)を自動計算して、合計をE1に表示するVBAを書いて」。入力データの形式と、欲しい出力結果を明確に伝えると精度が上がります。
Q. VBAマクロファイルを他の人に渡すときの注意点は何ですか?
A. VBAマクロを含むExcelファイルは、通常の.xlsx形式ではなく「.xlsm(マクロ有効ブック)」または「.xlsb(バイナリ)」形式で保存する必要があります。受け取った側はマクロのセキュリティ設定で実行を許可する必要があります。また、会社のセキュリティポリシーでマクロが禁止されている場合は共有できないため、事前に確認が必要です。
Q. VBAマクロとClaude Code、どちらから始めるべきですか?
A. まずClaude Codeから始めることをお勧めします。月額定額(約3万円)で文書作成・データ分析・メール対応など幅広い業務を効率化できます。VBAは「Excelの特定の繰り返し作業」に特化した強力なツールですが、設定の手間があります。Claude Codeで業務効率化の成功体験を積んでから、「このExcel作業はVBAで自動化しよう」と判断するのがスムーズです。
Q. VBAマクロで自動化するのに向いていない業務はありますか?
A. VBAが不向きな業務は主に3つです。①処理内容が毎回変わる業務(条件を柔軟に判断する必要がある場合)、②Excel以外のシステム(SaaS・クラウドサービス)との本格的な連携、③自然言語の生成・要約・翻訳などの言語処理。これらはClaude Codeが得意とする領域です。「Excelの中で完結する定型処理」はVBA、「判断・生成・多様なツールとの連携」はClaude Code、と覚えておきましょう。
Claude Codeで業務自動化を90日で叩き込む
経営者向けの伴走型パーソナルトレーニング
Claude Code を業務に落とし込む
専門研修コース一覧
受講者本人の業務を題材に、「使いこなせる」状態になるまで伴走する研修プログラム。1対1特化型・ハンズオン・法人講座の3コースを展開中。業務特化・実装まで踏み込むタイプのClaude Code研修です。
研修コース一覧を見る →AI鬼管理へのお問い合わせ
この記事を読んで気になった方へ。
AI鬼管理の専門スタッフが、御社に最適な
業務自動化プランを無料でご提案します。





