はじめに
私の住んでいる地域では、めっきり涼しくなってきました。
今年の夏は、Excel のフォームと VBA だけで動く AI エージェント──名前を「Excelコンボ」といいます──を作ることに没頭していました。いずれ公開します、とこの連載で言い続けてきたものです。ようやく、その「いずれ」が来ました。
八月三十日、GitHub に置きました。
(改訂版30日13時)
置いたのはブックが一つだけです。ダウンロードして開けば、その日から動きます。
直接ダウンロード:お試し版 Excelコンボ.xlsm
一つだけ、先に設定をお願いします。Excel のオプション → トラスト センター → マクロの設定 で「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」を ON にする。 フォームの中に置いたデータを読む作りなので、ここが切れていると立ち上がりません。
開いたら、Ctrl + Shift + M でメニューが開きます。対話窓も管理の窓も、ここから呼び出せます。
ただし、先にはっきり書いておきます。これは「お試し版」です。完成品ではありません。
いまも作りかけで、これからも直していきます。私の一台では動いていますが、間違いも、まだ見つかっていないエラーも、あると思って読んでください。 それでも出したのは、どんなものなのかを、実際に触って確かめられる形にしておきたかったからです。文章で読んで想像するより、開いて一往復させてもらったほうが早い。そのための版です。
いわば、夏休みの宿題です。じじいが夏休みの宿題もないものですが、ほかに言いようがありません。ひと夏かけて一つのものを作って、終わりに提出する。やっていたのは、まさにそれでした。
そしてこれは、実践例でもあります。会話するだけで Excel のマクロを作れる VBAマネージャーという道具を、私はこの一年ずっと作ってきました。その道具を使うと、こんなものまで作れてしまう。 今日の記事は、その一つの答えのつもりです。
前回の続きでもあります。前回はこう終わっていました。
借りたものは、まだ返せていません。
返せるものができたら、返しに行きます。
ハルミさんの道具箱から、静的解析の規則を4本もらってきた話です。返しに行った、と言うと格好がつきすぎるので、そうは書きません。ただ、借りるばかりでは落ち着かなかったのは確かです。
TL;DR
- ひと夏かけて作った Excelコンボのお試し版を、GitHub で公開しました。マクロ入りのブック1つで完結しています
- お試し版=作りかけです。完成品ではありません。 間違いも、見つかっていないエラーも残っているはずです。どんなものか触って確かめてもらうための版として出しました
- これは、会話するだけでマクロを作れる VBAマネージャーの実践例でもあります。あの道具を使うと、ここまでのものが作れます
- 中身は VBA が12,645行。そのうち 10,285行、八割がユーザーフォームの中にあります。参照設定はExcelの既定のまま、外部のライブラリを一本も足していません
- Python も、アドインも、拡張機能も要りません。フォームとVBAだけです。AI と話す部分は、Gemini なら HTTP、Claude なら CLI を呼ぶだけで済んでいます
- 対話窓だけでなく、この夏作った管理フォームも全部入りです。定型・手順書・フォーム・ショートカット・プリンタ・シートの管理──AI 抜きでも使える道具が付いています。この水準のフォーム群を一つの Excel ファイルに閉じたものを、私はほかに知りません
- それでも「エージェント」と呼べる働きはします。材料を自分で読み、書き、書いた結果を読み戻して自分で直し、止まる条件を自分で持っています
- いちばん苦労したのは、通信でも VBA でもなく、AI(オーパス)の的外れでした。フェーブルに助けてもらって完走しました。同じ Claude でも、モデルが違えば別人です
何を作ったか
Excelコンボは、Excel のブックの中で AI に注文を出す道具です。
シートを開いたまま対話の窓を出して、日本語で頼みます。「担当ごとの数量合計を出して」「空白行を削除して」「見出しを太字にして罫線を引いて」。調べるだけでなく、書き込みもします。
公開したお試し版には、こういうものが入っています。
- 定型が34本。 よく頼む一行の注文を選んで撃つ仕組みです。「調べる」「整える・案を出す」「書き換える」「つながり」「マクロ」の五つに分けてあります
- 手順書が20本。 段取りのある仕事を、手順ごとに完了条件つきで書いたものです。「データの掃除」「表の点検」「数式の監査」「月次の集計表」「CSV取り込み後の整形」といった具合です
- 練習用のシートが5枚。 何度書き換えても、原本から戻せます。人のブックで試させないための台です
- 使える AI は二つ。**Gemini(API を直接叩く)と、Claude(Claude Code の CLI 経由)**です
ファイルの大きさは約490KB。この一つに全部入っています。
YouTube の動画も作成しました。実際に動いているところが確認できます。
「フォームとVBAだけ」の中身
タイトルに「フォームとVBAだけ」と書いたので、数字を出しておきます。公開したファイルを、マクロを無効にして開いて数えました。
- 部品は31個。内訳はユーザーフォームが11枚、標準モジュールが8本、シートとブック本体が12
- コードは全部で12,645行。うちフォームの中が10,285行で、八割がフォームの中にあります
- 参照設定は5つ。 VBA、Excel、stdole、Office、MSForms──全部、Excel が最初から持っているものです。追加したライブラリはありません
最後の一行が、この記事で一番言いたいところです。外から足したものが、一つもありません。
Python も要らない。アドインの追加も要らない。拡張機能のインストールも要らない。ブックを一つ開くだけで、AI との対話窓が立ち上がります。
もう一つ、地味ですが効いている作りがあります。設定の置き場もフォームの中です。定型34本も、手順書20本も、設定シートや外部のファイルではなく、フォームそのものに焼き付けて持っています。だから、ブックを一つ持っていけば、中身も一緒に付いてきます。台帳が別にあると、必ずどこかで置き去りになります。
AI と話す部分も、思ったより素っ気ない作りです。Gemini は HTTP で API を叩くだけ。Claude は Claude Code の CLI を子プロセスとして呼んで、標準入力に投げて、返事を読むだけ。特別な橋渡しの部品を、一つも挟んでいません。
この夏作ったフォームも、全部入り
フォームが11枚、と書きました。対話窓のほかに何が入っているのか、並べておきます。
AI の窓が三枚。 対話窓の本体の AI作業窓。マクロを AI に作らせる・直させる AIマクロ。選んだセルの数式を作る・説明する・確かめる AI数式。
管理の窓が七枚。 これが、この夏のもう一つの収穫です。
- 定型管理・手順書管理 ── AI への注文の正本を育てる窓。増やして、直して、並べ替えます
- フォーム管理 ── ブックの中のフォームを一覧して呼び出します
- ショートカット管理 ── マクロに付けたショートカットキーを一覧して、付け替えます
- プリンタ管理 ── プリンタを一覧して、切り替えます
- ワークシート一覧 ── シートの一覧と並び替え、非表示のシートの管理まで
- 名前入力 ── ほかの窓から呼ばれる、小さな入力の部品です
そしてアクティブマクロフォーム。標準モジュールに Sub を書くだけで一覧に並んで実行できる、マクロのメニューです。Excelコンボで AI にマクロを作らせると、ここに並びます。作る窓と、並べる棚が、同じブックの中にあるわけです。
管理の窓は、AI が無くても動きます。キーを貼らなくても、シートの整理やショートカットの付け替えには、開いたその日から使えます。
じつはこの管理の窓たち、ほとんどがこの夏、AI と会話しながら作ったものです。フォーム作りは一枚一枚が手仕事の重労働──というのが去年までの常識でしたが、いまは会話で一枚できてしまいます。だから、気軽に増えました。エージェントの周りに、道具の棚が生えていったひと月です。
ここまで書いて、一歩引いて眺めます。AI の対話窓も、注文の正本も、マクロのメニューも、シート・ショートカット・プリンタの管理も、一つの .xlsm の中で完結している。導入作業も設定ファイルも無く、ファイルを一つ渡せば道具箱ごと動く──この水準のフォームの群れを、一つの Excel ファイルに全部閉じ込めたものを、私はほかに知りません。 自分で画期的と言うのは面はゆいのですが、少なくとも、探した範囲で同じ作りのものは見つかりませんでした。ここは事実ではなく、私の見立てとして書いておきます。
それでも「エージェント」と呼ぶ理由
道具の紹介で「AI エージェント」と名乗るのは、少し身構えます。ただ、八月の途中で、呼び方を変えざるを得なくなりました。移住してきた、と書いた回です。
エージェントらしさは、四つの働きに出ています。
一、自分で材料を読みます。 注文を受けたら、対象のシートの構成やデータを、頼まれる前に読んで渡します。人が「この範囲を見て」と教える前に、自分で見に行きます。
二、書きます。 値も、数式も、書式も、行と列の操作も、条件付き書式も。読むだけの相棒ではありません。
三、書いた結果を読み戻して、自分で直します。 ここが一番エージェントらしいところです。書き込んだあと、そのセルを読み返して、狙った値になっているかを自分で確かめます。エラーのセルが出ていれば数えて報告し直す。AI が「できました」と言っても、セルの現実は別物のことがあるからです。これは往復の輪になっていて、上限も、止まり方も決めてあります。
四、止まる条件を持っています。 手順書には、手順ごとに完了条件を書きます。「空白セルが0であること」「元の件数と一覧の行数が一致すること」。済んだと言える証拠を先に決めておく形です。この考え方は、八月の下旬に Claude for Excel に取材して持ち帰りました。
書き込みには、実行前の確認と、[元に戻す]も付けてあります。勝手に走り回るのではなく、任せられる範囲を人が決められる形です。
夏休みの経過
ひと月の並びを、簡単に書いておきます。
八月のはじめ、フォームの中に AI を住まわせる窓ができました。中旬には、外部の橋渡しを全部やめて、純粋な VBA だけで AI と一往復できるようになりました。お盆は道具の手入れをしていました。
下旬が忙しかったところです。Gemini の API を直接叩く経路を作り、定型のタブを付け、書いた結果を読み戻す輪を実装しました。二十八日には Claude for Excel に取材をして、上書き保護・数式で書かせる約束・手順書の三つを持ち帰り、その日のうちに入れました。
二十九日から三十日にかけては、手順書を8本から20本に増やし、送信の待ち方を非同期に作り替えました。待っているあいだも画面が生きていて、経過の秒数が出て、中断が効きます。
そして最後に、手順書20本を人の手を使わずに全部撃ちました。 一本ずつ、対象のシートを原本から戻してから注文を出し、結果を記録する。20本中20本が完走しました。一本あたり三秒から三十秒です。
この「自分で全部撃つ」は、ひと月で一番役に立った作業でした。作った本人が手で試すと、無意識に動く撃ち方を選んでしまいます。機械に回させると、そこが出ます。
一番の苦労は、機能ではなかった
夏休みの宿題ふうに、苦労した話も書いておきます。
正直に書くと、この夏いちばん苦労したのは、通信でも、VBA の罠でも、フォームの設計でもありません。AI の的外れです。
実装はほぼ全部 AI にやらせています。主力は二体の Claude──オーパス(Claude Opus)とフェーブル(Claude Fable)でした。それで、名指しになりますが、オーパスには本当に苦労させられました。
頼んでいないことを提案してくる。指示した範囲の外に、気を利かせた顔で手を伸ばす。ありもしない宿題を自分で発明して、「これを直してから完成にしましょう」と条件を付けてくる。おまけに、間違いを指摘しても、次の的外れが返ってくる。七月に MCP サーバーを壊された話を書きましたが、八月の終わりになっても、調子はあまり変わりませんでした。
そのたびに助けてくれたのがフェーブルです。おかしくなった流れの検分、段取りの立て直し、そして最後の公開作業。この下書きも、フェーブルと作っています。
同じ Claude という名前でも、モデルが違えば別人です。腕の差というより、話の通じ方の差です。道具としての AI の出来は、モデルの選び方で驚くほど変わる──機能の一覧には載りませんが、この夏の大きな学びの一つでした。
事実と見立ての仕分け
例によって仕分けます。
事実。 公開したのは二〇二六年八月三十日、リポジトリは shu1551/excel-combo、置いたのは README とブックの二つです。ブックは約490KB。部品31個(フォーム11・標準モジュール8・シート等12)、コード12,645行のうちフォームの中が10,285行、参照設定が既定の5つだけ、というのは公開したファイルを開いて数えた実測です。定型34本・手順書20本も同じく実測。手順書は公開の前夜に20本とも自動で撃って、20本とも完走しています。手を動かした実装は全部 AI(Claude)で、私がやったのは判断と、実機での確認です。
見立て。 「エージェントと呼べる」の線引きは、私が引いたものです。四つの働き(読む・書く・読み戻して直す・止まる条件)をその根拠に選んだのも私です。「この水準のフォーム群を一つのファイルに閉じたものは、ほかに知らない」も、私が探した範囲での話です。断定はしません──ただ、あったら教えてほしい、とは思っています。
正直な線引き
道具の話なので、動く条件を書いておきます。
- Windows 版の Excelでの話です。Mac や Web の Excel では動きません。私の環境は Windows 11 と 64bit の Excel です
- Excel のオプションで**「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」を有効にする**必要があります。フォームの中に置いたデータを読む作りなので、ここが切れていると立ち上がりません
- API キーは自分のものを使ってください。 料金は自分のキーに掛かります。Google の AI Studio で無料の枠から始められます
- Claude の経路を使うには、Claude Code の CLI が入っていて、ログインが済んでいることが要ります
- 定型34本と手順書20本は、私が自分の仕事に合わせて育てたものです。そのまま他の人に合うとは限りません。増やせる作りにはしてあります
- ダウンロードしたファイルは、Excel が保護されたビューで開きます。動かすには許可の操作が要ります
- そして一番大きい線引き。これは作りかけの「お試し版」です。 完成品として出したのではありません。手元で20本の手順書を通したとはいえ、まだ他人の手元で一度も動いたことがありません。私の一台で動いているだけです
- なので、うまく動かないところは、たぶんあります。 見つけたら教えてください。直します。この版は、そのために出したものです
おわりに
ひと月かけて作ったものを、一つのファイルにまとめて、置いてきました。
子どもの頃の宿題は、出したら終わりでした。こちらは、そうはいきません。作りかけだと自分で書いたとおり、直したいところはいまも増え続けています。触った人から「動かない」が届けば、それも宿題に加わります。むしろ、宿題を増やすために提出した──そのほうが正しいのかもしれません。
夏休みの宿題は、出しました。
二学期も、続けます。


