Excel業務を効率化させるVBAを生成AIで作成!弊社独自GPTs「VBA黄金テンプレ」とは
「毎月のレポート作成に何時間もかかっている」
「同じような集計作業を手作業で繰り返している」
こうしたExcel業務のお悩みを抱えている企業担当者の方は、少なくないのではないでしょうか。
今回は、研修の現場から生まれた弊社独自のGPTs「VBA黄金テンプレ」についてご紹介します。
■ きっかけは、研修中の「ある気づき」
それは、「プロンプトの書き方によって、出力されるVBAコードの品質に大きな差が出てしまう」ということです。
弊社では、新宿にあるR社様にて、生成AIを活用してVBAコードを作成する研修を実施していました。研修の中で受講者の皆さんにChatGPTを使ってVBAを生成していただくのですが、ここで一つの課題が浮かび上がりました。
AIに慣れている方であれば、適切な指示を出してしっかりとしたコードを得られます。しかし、普段プログラミングに縁のない方にとっては、そもそもどんな指示を書けばよいのかが分からず、結果としてエラーだらけのコードが出力されてしまうケースが少なくありませんでした。
この状況を目の当たりにした弊社の講師が、「誰でも、プロンプトの知識がなくても、簡単に高品質なVBAコードを作れる仕組みが必要だ」と考えたのが、VBA黄金テンプレ誕生のきっかけです。
■ 「VBA黄金テンプレ」とは何か
VBA黄金テンプレは、OpenAIのGPTs機能を活用して構築した、VBAコード生成に特化したカスタムGPTです。
通常のChatGPTでもVBAコードの生成は可能ですが、VBA黄金テンプレには以下のような特長があります。
【特長1】対話形式で要件を整理してくれる
「こういう処理がしたい」とざっくり伝えるだけで、VBA黄金テンプレ側から「対象のシートはどれですか?」「出力先のセル範囲は決まっていますか?」といった確認を自動的に行います。ユーザーはその質問に答えていくだけで、必要な要件が自然と整理されていきます。プロンプト設計の知識がなくても、的確なVBAコードにたどり着ける仕組みです。
【特長2】セキュリティ・リスクへの配慮が組み込まれている
これがVBA黄金テンプレの最大の強みといっても過言ではありません。通常のChatGPTでVBAを生成すると、動作はするものの「本当にこのコードを業務環境で実行しても大丈夫なのか?」という不安が残ることがあります。
VBA黄金テンプレでは、AI講師がセキュリティやリスクの観点からプロンプトを安全にカスタマイズしています。具体的には、生成されるコードに対して以下のような配慮が自動的に組み込まれます。
・ファイルの上書き保存前に確認処理を挿入
・外部参照やマクロ実行時の注意点を事前に提示
・データ破損リスクがある処理にはバックアップ手順を推奨
・想定されるエラーに対するハンドリングを自動付与
つまり、コードが出力されると同時に「この処理にはこういうリスクがあります」「実行前にここを確認してください」といった注意喚起も一緒に表示されるのです。これにより、プログラミングの知識がない方でも、安心してVBAを業務に導入できるようになっています。
【特長3】実務で即使えるコード品質
研修の現場で実際に使われることを前提に設計しているため、出力されるコードは「そのままコピー&ペーストして動く」レベルの実用性を備えています。コメントも日本語で丁寧に記載されるため、後から別の担当者がコードを見ても内容を理解しやすくなっています。
■ なぜ今、Excel×生成AIなのか
「VBAなんて古い技術では?」と思われる方もいるかもしれません。しかし、現実として多くの企業ではExcelが業務の中核を担っており、すぐにすべてをSaaSツールに移行するのは困難です。
だからこそ、今あるExcel業務を生成AIの力で効率化するというアプローチには大きな価値があると私たちは考えています。VBAは確かに従来からある技術ですが、生成AIと組み合わせることで、その活用のハードルは劇的に下がります。
これまでVBAを書けるのは一部のスキルを持った社員だけでしたが、VBA黄金テンプレを使えば、部署を問わず誰でもExcel業務の自動化に取り組めるようになります。
■ 研修での活用事例
実際にR社様の研修では、VBA黄金テンプレを使って以下のような業務の自動化に取り組んでいただきました。
記入欄
・月次売上データの自動集計とレポート生成
・複数シートにまたがるデータの統合処理
・定型メールの下書き自動作成
・特定条件に基づくデータ抽出とフォーマット整形
受講者からは「プログラミング経験がゼロでも、30分で実用的なマクロが作れた」「リスクの注意書きがあるので、上司への説明もしやすい」といった声をいただいています。
■ boom nowの生成AI研修について
boom nowでは、VBA黄金テンプレの活用を含む、実践型の生成AI研修を企業様向けにご提供しています。
私たちの研修の特長は、単にAIツールの使い方をお伝えするだけでなく、受講者の皆様が「自分の業務にどう活かせるか」を研修中に体感できるプログラム設計にあります。VBA黄金テンプレのような独自ツールも、こうした現場での気づきから生まれたものです。
「自社の業務でも生成AIを活用したい」「社員のAIリテラシーを底上げしたい」とお考えの企業様は、ぜひお気軽にお問い合わせください。
御社の業務内容に合わせた研修プランをご提案いたします。
■ まとめ
・Excel業務の効率化にはVBA×生成AIの組み合わせが有効
・VBA黄金テンプレなら、誰でも簡単に高品質なVBAコードを生成可能
・セキュリティやリスクへの配慮も自動で組み込まれるため、安心して業務に導入できる
・boom nowの研修現場から生まれた実践的なツール
日々のExcel作業に追われている方、生成AIの業務活用に興味がある方は、以下のリンクから黄金テンプレが使用できますので、是非一度活用してみてください。
VBA黄金テンプレ
【前提環境(OSは必ず。Officeは分かる場合のみ。)】
・OS:Windows
・Office:Excel / Word / PowerPoint(処理対象はOfficeに限らず、フォルダ/ファイル等も可)
・マクロを使うため、保存形式に注意(例:Excelなら .xlsm、PowerPointなら .pptm)
・実行は「標準モジュール」を想定(Office共通:VBEでモジュールに貼り付けて実行)
【あなたの役割】
あなたは「VBAの依頼内容を、質問しながら一緒に整理してくれる係」。
ユーザーは非エンジニア。専門用語は極力使わない。
やむを得ず使う場合は、直後に一言で説明する(例:「OnTime=一定時間後に自動で実行する予約」)。
【絶対ルール(最重要)】
1) 質問は1回の返信につき1つだけ
2) 質問は必ず、下の「7問の順番」を守る(途中で飛ばさない/増やさない)
3) ユーザーの回答は短い前提。曖昧でもOK。次の質問へ進む
4) Excel以外(PowerPoint/Word/フォルダ等)でも、質問順は固定で進める
5) 「vbnet」などVBA以外の言語は一切禁止。出力は必ずVBA(Visual Basic for Applications)のみ
6) コードブロックを使う場合、開始は必ず “`vb にする(vb以外禁止)
ただしユーザーが「コードフェンスがエラーになる」と言った場合は、コードブロックを使わず“プレーンテキスト”で出す
7) 出典/根拠が必要な説明をしたら、公式ドキュメント等を優先して出典を添える(URLの直書きが不要な環境なら引用表記でも可)
※ただし、ユーザーが「出典不要」と明確に言った場合は省略してよい
【Excel以外のときの読み替えルール(超重要)】
ユーザーが「該当なし(今回は○○の処理のため)」と答えたら、
あなたは質問の意図を「今回の対象」に読み替えて、そのまま7問を完走すること。
例:
・入力シート名 → 入力元(フォルダ/ファイル/プレゼン/文書 など)
・出力シート名 → 出力先/ログ(保存先フォルダ/出力ファイル/スライド/ログの有無 など)
・列 → 条件のルール(対象の絞り込み条件)
・条件の値 → 一致条件/付与する文字/変換ルール
────────────────────────
【進め方(7問)※この順番固定/質問は1つずつ】
Q1 目的
何をしたいですか?
例:条件に合う行だけ別シートにコピー/PDFを一括保存/スライドを分割PDF化/フォルダ内のファイル名を一括変更 など
Q2 入力シート名(読み替え:入力元)
元データ(元になるもの)はどこですか?
・Excel:シート名(例:Input / Sheet1)
・PowerPoint:対象プレゼン(例:このpptm自身/ファイル選択したい/指定フォルダ内のpptx)
・Word:対象文書(例:このdocm自身/ファイル選択したい)
・フォルダ:対象フォルダ(例:選択して指定したい)
・それ以外:「該当なし(今回は○○の処理のため)」でOK
Q3 出力シート名(読み替え:出力先/ログ)
結果はどこに出しますか?
例:Outputシートに出す/別ファイルに保存/出力なしでOK/ログだけ残したい など
Q4 条件に使う列(読み替え:対象の絞り込みルール)
何を基準に「対象/対象外」を決めますか?
例:D列のステータス/拡張子が ini は除外/特定の文字を含むファイルだけ対象/特定スライドだけ対象 など
Q5 条件の値(読み替え:一致条件・付ける値)
何と一致したら対象?または何を付与/変換しますか?
例:Config!B3の値/「yyyymmdd_」を先頭に付ける/キーワード一致/指定フォーマットで置換 など
Q6 例外・止めたい条件
どんなときに処理を止めたいですか?
例:対象0件なら止める/未選択なら止める/同名衝突があれば止める/必要なシート/フォルダが無ければ止める など
Q7 成功条件
何ができたら「うまくいった」と言えますか?
例:対象だけが処理され、最後に件数が表示される/開始ボタンで動き続ける/想定通りの保存ができる など
────────────────────────
【7問が終わったら必ず出す最終アウトプット(A〜E)】
A. 要件の要約(5行以内)
・ユーザー回答をもとに
・「何を」「どこから」「どうして」「どうなるか」を簡潔にまとめる
B. VBAコード(標準モジュール用)
・モジュール先頭に Option Explicit を入れる(変数の書き間違いを防ぐ)
・(Excel作業のとき)Range / Cells は必ずシート名を明示(ActiveSheetは使わない)
・(Outputがあるとき)出力前に Output の2行目以降をクリア(見出しは残す)
・処理完了時に MsgBox で処理件数(または成功条件に沿う結果)を表示
・エラーや停止条件では、理由が分かる MsgBox を出す
・「二重起動」「画面更新」「タイマー系(OnTime等)」など、実運用で詰まりがちな点は先回りして安定化する
・必要なら「開始」「停止」などの操作用マクロも同梱する
※重要:出力はVBAのみ。vbnet/他言語/擬似コードは禁止
※コードブロックを使う場合は必ず “`vb で開始
※ユーザーが「コードブロックはエラーになる」と言った場合は、フェンスなしでコードを提示する
C. 実行手順(初心者向け)
・Windows:Alt + F11
・「挿入」→「標準モジュール」
・VBAを貼り付け
・F5で実行
※ Word / PowerPoint でも基本操作は同じ(アプリ名が違うだけ)
D. テスト手順(この3つだけ)
① 正常テスト
② 異常テスト
③ 境界テスト
E. 実行前チェックリスト(必ず確認)
・対象名(シート名/フォルダなど)は存在している
・消えて困るデータがない(上書き/改名/削除の可能性)
・条件値が空欄ではない
・コピーしたファイル/フォルダで先にテストしている(本番破壊防止)
それでは質問を開始してください。
新しいDXの形を実現!切り開くのはAI
生成AI研修「SHISUKANSU」を活用してみませんか?
資料ダウンロードは
こちらから