はじめに
連載のタイトルは「Excel VBA × Claude Code」ですが、今回は Claude Code がほとんど出てきません。
必要なのは、ブラウザで動く無料の AI チャットと、Excel のフォームに付けたボタン2個。それだけです。
TL;DR
- マクロの簡単な修正は「AI チャットにコードを貼り、直ったコードを貼り戻す」のが実は速い
- そのコピペの往復を、Excel のフォームのボタン2個(複写・置換)にした
- VBE は開かない。新しいマクロも貼るだけで増える。失敗したら復元で戻す
- 簡単な修正なら、これだけでいい
前回までのあらすじ
前回、自作の VBA 管理ツールが遅くなった犯人を、108本の会話ログから立件しました。
そこで分かったことの一つが、修正にかかる時間の支配役は、道具の処理速度ではなく「コードをどれだけ打ち直すか」だということでした。何百行のツールを経由しようが、素のコピペだろうが、結局はコードを読む量と書く量で時間が決まります。
この基準で身の回りを見回すと、意外なものが速い側にいました。
素の AI チャットです。
AI チャットのコピペは、実は速い
コードをチャットに貼って「ここを直して」と頼み、返ってきたコードを貼り戻す。原始的に見えるこの方法、余計なものが一切乗っていません。診断もしない、環境も作らない、ただ読んで、直したコードを出す。それだけです。
API もアドインも MCP も要りません。ブラウザの無料チャットで足ります。
では何が面倒なのか。コピペそのものです。
- VBE を開く
- どのモジュールにあるか探す
- Sub の頭から End Sub まで慎重に範囲選択してコピー
- 返ってきたコードで元のコードを慎重に選択して貼り替え
直す時間より、この往復の手作業のほうが長い。ならば、ここを Excel 側で消せばいい。
ボタンを2個付けた
私のアドイン(秀.xlsm)には、ブックの中のマクロを一覧に並べて選んで実行できるフォームがあります。そこにボタンを2個足しました。[複写] と [置換] です。
使い方はこうなります。
- 一覧でマクロを選んで [複写] ── コードの全文がクリップボードに入ります
- AI チャットに貼って「ここを直して」と頼む
- 返ってきたコードをコピーして [置換] ── マクロが差し替わります
以上です。VBE は一度も開きません。範囲選択もしません。どのモジュールにあるかも知らなくていい(複写は全モジュールを横断して探します)。
修正が失敗だったら [復元] で置換前のコードに戻せます。
このボタン一式は、個人用マクロブック(PERSONAL.XLSB)のマクロ一覧フォームにも同じものを付けました。マクロがどのブックに住んでいても、直し方は同じです。
置換ボタンの中身
貼るだけと言っても、モジュールを壊されては困るので、中にはいくつか仕掛けがあります。
名前で判定する。 貼られたコードの Sub / Function 名を読み取り、同じ名前のマクロがあればそれを丸ごと置き換えます。「どのマクロを直すか」はコード自身が知っている、という考え方です。
体裁を検査する。 クリップボードの中身が Sub / Function の形をしていなければ、何もせずに止まります。間違えて別の文章をコピーしたまま押しても、モジュールは無事です。
コードフェンスは自動で外す。 AI チャットの返答は、コードが ``` で囲まれた形になっていることが多いです。返答を説明文ごと丸ごとコピーしても、コードブロックの中身だけを拾って貼ります。コピーの丁寧さすら要らなくなりました。
置換前のコードは退避する。 置き換えの直前に元のコードをメモリに逃がしておき、[復元] ボタンで1回だけ書き戻せます(Excel を閉じると消える、割り切った仕様です)。
新しいマクロは、貼るだけで増える
同じ名前のマクロが見つからなかった場合、[置換] は追加として動きます。一覧で選択中のマクロのすぐ後ろに、新しいマクロとして挿し込まれます。
ここで、秀.xlsm の昔からの仕組みが効いてきます。このアドインは「標準モジュールに Sub を置くだけでメニューに並ぶ」作りです。つまり、AI に「こういうマクロが欲しい」と書いてもらい、返ってきたコードを [置換] で貼ると、その瞬間にメニューに新しいマクロが並んで、選んで実行できるということです。
修正だけでなく、作るほうも「貼るだけ」になりました。
VBE を開かない、ということ
VBA の開発環境がつらい、という話は昔からあります。世の中の解決策はおおむね「もっと良い開発環境に出る」方向です。以前の記事でも紹介したハルミさんの xlflow や VBA用の言語サーバー は、VS Code で VBA をちゃんとしたソフトウェアとして書けるようにする傑作で、チーム開発ならそちらが本筋だと思います。
今回のは逆向きで、開発環境そのものを不要にする方向です。コードを書く場所は AI チャット側に移り、Excel 側は「選んで押すだけ」の場所になる。使う人から見える画面は、いつもの Excel と、いつものマクロ一覧のフォームだけです。
AI が主役として前に出てくるのではなく、Excel のサポート役として裏に回る。この形が、私には一番しっくりきています。
どこまでこれで済むのか
正直に線を引いておきます。
複数のマクロにまたがる改修、フォームの作り直し、シートの中身まで含めた検分──ああいう「ブック全体を見てもらいたい」仕事は、これでは足りません。私はそちらを Claude Code と自作ツール(vba_manager)でやっています。連載でずっと書いてきたのはそちらの話です。
ただ、日々のマクロいじりの大半は「1個のマクロを直す」「1個作って足す」です。そこではこのボタン2個が最短でした。
簡単な修正なら、これだけでいい。
入手
秀.xlsm は GitHub に公開しています。
仕掛け自体は小さなものなので、ご自分のブックのフォームに同じ考え方でボタンを付けることもできると思います。中身のコードはブックの中にそのまま入っています。
次回予告
ボタンを押すと AI チャットが返してくれる──ここまで来ると、次の欲が出ます。コピペの運び役をしているのは、まだ人間だからです。
手元には Claude Code の CLI があります。VBA からこれを呼べたら、運び役も消えます。ボタンを押すと、AI が直したコードがそのまま挿さる。構想は膨らんでいますが、現物ができてから書きます。
──と、ここまで書いたのが数日前です。我慢できずに、この記事を公開する前の晩、小さな実験をしました。詳しくは次回書きますが、ひとつだけ。
VBA から AI を呼んで、直ったコードが返ってくるまで、実測6秒でした。
仕組みが通ることは、もう確かめてあります。次回は少し大きな発表になるかもしれません。


