Excel業務を効率化するうえで欠かせないのが VBA(Visual Basic for Applications) です。しかし実務では、次のような悩みが非常に多くあります。
- 「やりたいことは分かるけど、コードが作れない」
- 「ネットで調べても欲しいコードが見つからない」
- 「マクロを修正するとエラーが出てしまう」
- 「動くけど、本当にこの書き方でいいのか不安」
- 「最適なコード構造が分からない」
- 「業務に合わせた“実用レベルのVBA”を作れない」
こうした悩みは、ChatGPTを活用した“VBAマクロ生成プロンプト” を使うことで、驚くほどスムーズに解決できます。
ChatGPTは、
- VBAコードの自動生成
- コード改善、最適化
- エラー解析
- コメント付与
- 保守性の高い書き方に変換
- 業務仕様からマクロを自動生成
- プロレベルの構造と命名規則で出力
ができるため、あなたのExcel作業は劇的に高速化されます。
この記事では、ChatGPTで 実務レベルのVBAマクロを作るための最強プロンプト集 をまとめました。
目次
- ✅ ChatGPTでVBAを作るメリット
- ・自然文を渡すだけでマクロ化できる
- ・プロの書き方で最適化してくれる
- ・エラー原因解析が得意
- ・手作業の業務からマクロを生成
- ・コピペしてすぐ実行できる
- ✅ ChatGPTでVBAを作らせる際に渡すべき情報
- ✅ ChatGPTで使える「VBAマクロ作成プロンプト集」
- ✅ 基本操作系マクロのプロンプト
- ・セルへの書き込み
- ・行の最終行取得
- ・列の自動調整
- ・フィルタの自動設定
- ✅ コピー・貼り付け・転記系プロンプト
- ・別シートに一括転記
- ・条件一致の行だけコピー
- ・貼り付け時の形式保持
- ✅ 検索・抽出VBAプロンプト
- ・特定の文字を含む行を抽出
- ・完全一致・部分一致どちらも生成
- ・最終行から検索したい
- ✅ 並べ替え・重複処理プロンプト
- ・重複削除
- ・重複を抽出して別シートへ
- ・複数条件で並べ替え
- ✅ Excelファイル操作系プロンプト
- ・新しいブックとして保存
- ・CSV保存(Shift-JIS/UTF-8 選択)
- ・フォルダ内のファイルをまとめて処理
- ✅ 高度処理・DataTable・辞書活用プロンプト
- ・Dictionaryを使った高速重複チェック
- ・配列で高速転記
- ・VLOOKUPをVBAで実装
- ✅ ユーザーフォーム・イベント系プロンプト
- ・ダブルクリックで行コピー
- ・選択セルをユーザーフォームに表示
- ・ユーザーフォームからシートへ登録
- ✅ エラー対策・保守性向上プロンプト
- ・On Error構文入り
- ・ログ出力機能つきVBA
- ・可読性の高いコードに最適化
- ✅ ChatGPTでVBAマクロを作る手順(完全版)
- ・ステップ1:目的を書く
- ・ステップ2:扱うセル範囲を伝える
- ・ステップ3:例外時の動作を伝える
- ・ステップ4:処理速度優先化の有無も書く
- ・ステップ5:最後に「最適化版を作成」と追加
- ✅ 実務で使える「コード改善」プロンプト
- ・既存コードの高速化
- ・エラー原因分析
- ・可読性の向上
- ・機能追加
- ✅ ChatGPT×VBAを使うと実務がどう変わるか
- ✅ まとめ:ChatGPTは“VBAマクロ生成マシン”であり最高のアナリスト
✅ ChatGPTでVBAを作るメリット
・自然文を渡すだけでマクロ化できる
仕様書がなくても、やりたい内容を文章で説明すればコードが出力されます。
・プロの書き方で最適化してくれる
With構文、エラー処理、変数宣言、Option Explicit対応など、ベストプラクティス版のVBAを自動生成。
・エラー原因解析が得意
「タイプミスマッチ」「範囲外エラー」などの発生箇所を pinpoint で指摘。
・手作業の業務からマクロを生成
操作内容を文章で書くだけで“実務マクロ”が完成。
・コピペしてすぐ実行できる
標準モジュール向け、シートモジュール向けなど形式も指定可能。
✅ ChatGPTでVBAを作らせる際に渡すべき情報
ChatGPTにマクロ生成を依頼する際、次の情報があると精度が最大化します。
- 対象シート名、セル範囲
- 行いたい処理(箇条書きでOK)
- 条件(フィルタ条件、検索条件など)
- 出力結果(ファイル生成、別シート書き込みなど)
- エラー時の挙動(スキップ/停止/ログ出力)
- 動作速度の優先度
- Excelバージョン(任意)
例:
A列の重複データを削除し、B列に重複回数を出力するVBAを作ってください。
これだけで ChatGPT は高精度のマクロを生成します。
✅ ChatGPTで使える「VBAマクロ作成プロンプト集」
以下は 実務でそのまま使えるプロンプト です。
どれも“そのままChatGPTに貼るだけ”で高品質マクロが生成されます。
✅ 基本操作系マクロのプロンプト
・セルへの書き込み
Excelの○○シートのA1セルに今日の日付を書き込むVBAを作ってください。
・行の最終行取得
A列の最終行を取得し、MsgBoxで表示するVBAを作ってください。
・列の自動調整
アクティブシートのすべての列幅を自動調整するVBAを作成してください。
・フィルタの自動設定
A列が「営業」の行だけを残すオートフィルタを設定するVBAを作ってください。
✅ コピー・貼り付け・転記系プロンプト
・別シートに一括転記
「元データ」シートのA1:D100を「集計」シートへ貼り付けるVBAを作成してください。
・条件一致の行だけコピー
A列が「北海道」の行だけを別シートにコピーするVBAを作ってください。
・貼り付け時の形式保持
値貼り付けのみでコピーするVBAと、書式ごとコピーするVBAの2種類を作ってください。
参考:【VBA】値のみをコピーする方法:値貼り付け
✅ 検索・抽出VBAプロンプト
・特定の文字を含む行を抽出
A列に「支店」という文字を含む行だけを別シートに抽出するVBAをお願いします。
・完全一致・部分一致どちらも生成
A列の値が「東京」に完全一致する行を探すVBAと、部分一致のVBAも作ってください。
・最終行から検索したい
下から検索して最初に一致したセルを取得するVBAを作ってください。
✅ 並べ替え・重複処理プロンプト
・重複削除
A列の重複を削除し、元データの順番は保持するVBAを作ってください。
・重複を抽出して別シートへ
A列の重複データだけ抽出し、「重複一覧」シートに出力するVBAを作ってください。
・複数条件で並べ替え
A列昇順 → B列降順の並べ替えを行うVBAを作成してください。
✅ Excelファイル操作系プロンプト
・新しいブックとして保存
現在のアクティブシートを別ファイルとして保存するVBAを作ってください。
・CSV保存(Shift-JIS/UTF-8 選択)
アクティブシートをCSVで保存するVBAを、Shift-JIS版とUTF-8版の2種類で生成してください。
参考:【Excel】既定の文字コードを変更する方法(上級者向け)|UTF-8対応でCSV文字化けを防ぐ・フォルダ内のファイルをまとめて処理
特定フォルダ内のすべてのExcelファイルを開き、A1セルを取得して一覧化するVBAを作ってください。
✅ 高度処理・DataTable・辞書活用プロンプト
・Dictionaryを使った高速重複チェック
A列の重複をDictionaryを使って削除するVBAを作ってください。
・配列で高速転記
A1:D100を配列に格納し、別シートに一括出力する高速VBAを作ってください。
・VLOOKUPをVBAで実装
VLOOKUPのように検索し一致する値を返すVBA関数を作ってください。
✅ ユーザーフォーム・イベント系プロンプト
・ダブルクリックで行コピー
セルをダブルクリックしたとき、その行を別シートにコピーするイベントVBAを作ってください。
・選択セルをユーザーフォームに表示
アクティブセルの値をユーザーフォームのテキストボックスに表示するVBAを作ってください。
・ユーザーフォームからシートへ登録
フォーム入力内容を指定シートへ追加入力するVBAを作成してください。
✅ エラー対策・保守性向上プロンプト
・On Error構文入り
例外が発生したらメッセージを表示して処理終了するVBAを作ってください。
・ログ出力機能つきVBA
処理結果をテキストファイルにログとして出力するVBAを生成してください。
・可読性の高いコードに最適化
このVBAコードを、コメント付きで読みやすい構造にリライトしてください。
(ここにコードを貼る)
✅ ChatGPTでVBAマクロを作る手順(完全版)
・ステップ1:目的を書く
自然文でOKです。
・ステップ2:扱うセル範囲を伝える
範囲が明確なほど正確なコードになります。
・ステップ3:例外時の動作を伝える
止める/スキップする/ログ書き込みなど。
・ステップ4:処理速度優先化の有無も書く
必要なら「高速化」と一言添える。
・ステップ5:最後に「最適化版を作成」と追加
ChatGPTは品質の高いコードに自動仕上げ。
✅ 実務で使える「コード改善」プロンプト
・既存コードの高速化
このコードを高速化してください。
可能であれば配列やDictionaryを使った改善案も提示してください。
・エラー原因分析
以下のVBAでエラーが出る理由を説明し、正しく動くよう修正してください。
・可読性の向上
変数名・コメント・インデントを最適化した読みやすいコードにリライトしてください。
・機能追加
このVBAに「○○機能」を追加してください。
✅ ChatGPT×VBAを使うと実務がどう変わるか
- 新しい業務マクロを10分以内で作成できる
- ロジックエラーや構文ミスが激減
- コードが読みやすくなり保守性が大幅に向上
- 複雑作業がワンクリックで実行できる
- 初心者でも“プロレベルのVBA”が作れる
- 業務の属人化が防げる
- 自分の業務時間が大幅に短縮され、改善活動に回せる
✅ まとめ:ChatGPTは“VBAマクロ生成マシン”であり最高のアナリスト
- やりたいことを自然文で書くだけでVBAを自動生成
- 配列・Dictionary・高速化にも対応
- エラー原因の解析と修正が得意
- 可読性の高いプロレベルのコードも生成
- 実務のVBA作成を最速で行える
- ChatGPTは“VBA専門アナリスト”として機能する