はじめに
「このExcel、ちょっと列足してくれない?」
仕様書なし、作った人は退職済み、でも毎日使われているマクロ入りの .xlsm。そういうブックを引き継いだとき、まず何をしているかを知るところで時間が溶けます。
そこで、AI アシスタントがブックを読み解き、レビューし、安全に改修するのを助ける MCP サーバーとエージェントスキル AI VBA Rescue を作りました。
何ができるか
アシスタントにブックのパスと「やりたいこと」を伝えると、次の流れで進みます。
- マクロを実行せずにブックを読む
- ボタンやイベントごとの処理をフローチャートにする
- コードのまとまりの意図を記録する
- 現状・見つけた問題・対策案を短いレビューで見せる
- 案を承認してはじめて、ブックの複製を改修する
- 複製がコンパイルできることを確かめ、元と複製を並べて動かして違いを説明する
元のファイルが変わるのは、こちらが明示したときだけです(控えを残します)。
作られるもの
分かったことは、元のブックと同じフォルダの単独の Excel ファイル(<ブック名>_設計書.xlsx)に残ります。
- 入口ごとの概要フローチャート
- 人が確認する「意図」シート
- 改修案、改修記録
- リビジョンごとのシート(承認した内容、テスト結果、変えた手続きの改修前後)
フローチャートの箱は Excel の普通の図形なので、PowerPoint や Word にコピーして直せます。
サンプルとして、日程表・進捗の棒・9か国の祝日を持つ WBS ブックを改修した例も入っています。拡大率 85% で予定の棒が日程表からずれる問題を、セルの模様で描く方式に直した記録です。


AI に送るもの・送らないもの
業務ブックを扱うので、ここは慎重に作っています。
- データ行(工数・日付・名前・金額など)は AI に送りません
- コード、シート名、見出し、図形の文字は、送る前に一覧(
<ブック名>_AI送信内容.xlsx)で確認でき、送りたくない行を消してから送ります - 処理の前に「このファイルの敏感なデータは消去済みか」を必ず聞きます。「はい」と答えるまで何も処理されません
- 注意: モジュール名と手続き名は、一覧から行を消しても常に送られます
制限事項
- Windows とデスクトップ版の Excel が必要です(設計書の作成と改修前後の比較のため、別プロセスで見えない Excel を起動します。開いているブックには触りません)
- VBA のパスワード解除や、壊れたファイルの修復はしません
- 署名付きのプロジェクトとフォームのモジュールへのコード書き込みはできません
- 複数ブックを 1 つに集約することは、まだできません
インストール
Python 3.12 以上と、対応する AI ツール(Claude Code・Codex・OpenCode・GitHub Copilot CLI・VS Code)が 1 つ必要です。
- リポジトリをダウンロードまたは clone
-
install.batをダブルクリック(install.bat --dry-runで、行う変更の表示だけできます)
install.bat は .venv を作ってパッケージを入れ、vba-rescue-setup を動かします。セットアップは見つかった AI ツールごとに、スキルの配置と MCP サーバーの登録を行います。変更前に [y/N] で確認し、変更するファイルは .vba-rescue.bak に控えます。終わったら AI ツールを再起動してください。
使い方
- 改修したい .xlsm のフルパスをアシスタントに伝える
- やりたいこと(理解したい/不具合を直したい/機能を足したい)を伝える
- 敏感データの確認に答え、送信内容の一覧を確認する
- 短いレビュー(現状・フローチャート・問題と対策)を読んで、承認または別案を頼む
- 複製(
<ブック名>_r1.xlsm)が改修され、元との比較レポートが出る - テスト結果の説明を読む。本番ブックへの反映は、頼んだときだけ行われる
おわりに
「誰も仕様を知らない VBA」は、読めるようになるだけで、かなり怖さが減ります。まずは設計書を作って全体像を見るところから試してみてください。
リポジトリ: https://github.com/ryuu1kyou/ai-vba-rescue (MIT License)


