「前任者が作ったExcelマクロ、誰も中身がわからない……」。異動や退職で引き継ぎがうまくいかず、ブラックボックス化したVBAに頭を抱えていませんか?

2025年のITmediaの調査によると、Excelマクロを「時々使っている」企業は50.9%、「常に使っている」は18.8%。つまり約7割の企業がマクロに依存しているのに、コードを読める人が限られているのが現実です。

でも安心してください。2026年2月現在、ChatGPTやMicrosoft Copilotを使えば、VBAの知識がゼロでもコードの意味を日本語で解説してもらえます。この記事では、他人が書いたExcelマクロをAIで解読する具体的な手順と、引き継ぎトラブルを防ぐコツを解説します。

なぜExcelマクロは「ブラックボックス」になるのか?

そもそも、なぜマクロは属人化しやすいのでしょうか。主な原因は3つあります。

1. コメントやドキュメントがない
VBAは「とりあえず動けばOK」で書かれがち。独学で覚えた人ほど、コードにコメント(説明書き)を残さない傾向があります。

2. 「マクロの記録」で自動生成されたコードが読みにくい
Excelの「マクロの記録」機能は便利ですが、生成されるVBAは冗長で意味不明な記述が大量に含まれます。たとえば Selection.Font.Bold = True のような一行ごとの操作が延々と続き、全体で何をしているのか把握しづらいのです。

3. 引き継ぎの仕組みがない
マクロの仕様書やフローチャートを作る文化がない職場では、作った本人が辞めた瞬間に「誰もわからない」状態になります。OSのアップデートやExcelのバージョンアップで急に動かなくなっても、修正できる人がいません。

ChatGPTでVBAコードを解読する手順【コピペでOK】

もっとも手軽な方法は、ChatGPT(無料版でもOK)にVBAコードを貼り付けて説明してもらうことです。

ステップ1:VBAエディタを開く
Excelファイルを開いたら、Alt + F11 キーを押します。すると「Visual Basic Editor(VBE)」というウィンドウが立ち上がります。左側のツリーから「標準モジュール」を展開すると、マクロのコードが見つかります。

ステップ2:コードをコピーする
解読したいマクロ(Sub ~ End Sub で囲まれたブロック)を選択して Ctrl + C でコピーします。

ステップ3:ChatGPTに貼り付けて質問する
以下のようなプロンプト(指示文)を使うと、わかりやすい回答が得られます。

以下のExcel VBAコードが何をしているか、
プログラミング初心者にもわかるように日本語で説明してください。
処理の流れを箇条書きで、
各行が何をしているかも簡潔に教えてください。

---
(ここにVBAコードを貼り付け)

ChatGPTは数秒で「このマクロはA列のデータをB列にコピーして、空白行を削除し、最後にシートを印刷プレビューで表示する処理です」のように、処理の流れを自然な日本語で返してくれます

ポイント:回答の精度を上げるコツとして、「このマクロが使われているシートの構造(列名やデータ例)」を追加で伝えると、より正確な説明が返ってきます。

Microsoft Copilotを使う方法【法人ユーザー向け】

会社でCopilot for Microsoft 365(月額4,497円/ユーザー、2026年2月時点)を契約しているなら、Excel上で直接AIに質問できます。

Copilot in Excelの使い方:

  1. ExcelファイルをOneDriveまたはSharePointに保存し、AutoSave(自動保存)をオンにする
  2. リボンの「ホーム」タブにあるCopilotアイコンをクリック
  3. サイドパネルが開くので、「このブックのマクロの内容を説明して」と入力

ただし2026年2月時点では、Copilot in ExcelはVBAエディタ内のコードを直接読む機能が限定的です。確実に解読したい場合は、VBAコードをコピーしてブラウザ版のMicrosoft Copilot(旧Bing Chat)に貼り付ける方法がおすすめです。こちらは無料で使えます。

ChatGPTとCopilotの使い分け:

  • ChatGPT:長いコードの解析・リファクタリング提案が得意。無料版でも十分使える
  • Copilot(ブラウザ版):Microsoft製品との連携が強み。Excelの関数やPower Queryの質問も一緒にできる
  • Copilot for Microsoft 365:Excel内で完結できるが、有料契約が必要

AIの回答を鵜呑みにしない!確認すべき3つのポイント

AIは非常に便利ですが、回答が100%正しいとは限りません。特にVBAの解読では以下に注意してください。

1. 変数名から処理内容を「推測」している場合がある
AIはコードの文脈から意味を推測します。変数名が xtmp のように曖昧だと、実際の処理とずれた説明をすることがあります。必ず実際のシートのデータと照らし合わせましょう

2. 外部参照・他シートへの影響を見落とすことがある
マクロが別のブックやシートを参照している場合、その部分のコードだけ見てもAIは全体像を把握できません。関連するシート名やファイルパスも一緒に伝えましょう。

3. 機密データをそのまま貼り付けない
ChatGPTやCopilotに社外秘のデータを含むコードを貼り付ける場合は、会社のセキュリティポリシーを確認してください。個人名や取引先名が含まれるなら、ダミーデータに置き換えてから貼るのが安全です。ChatGPT Teamプラン(法人向け)やCopilot for Microsoft 365は、入力データが学習に使われない設定になっています。

もうブラックボックスにしない!マクロ引き継ぎのコツ3選

解読できたら、次は二度とブラックボックスにしない仕組みを作りましょう。

1. AIに「仕様書」を書いてもらう
ChatGPTに「このVBAコードの仕様書をMarkdown形式で作成してください。処理概要、入出力、前提条件、注意点を含めてください」と指示すれば、そのまま社内ドキュメントとして使える仕様書が生成されます。

2. コードにコメントを追加してもらう
「このVBAコードの各処理ブロックに日本語コメントを追加してください」とAIに頼めば、コメント付きのコードが返ってきます。それをVBEに貼り直すだけで、次の人が読みやすいコードになります。

3. マクロの「使い方メモ」をシート上に残す
Excelファイル内に「README」シートを作り、「このマクロは何をするか」「どのボタンで実行するか」「実行前に確認すること」を書いておくだけでも、引き継ぎのハードルは大幅に下がります。

FAQ

VBAの知識がまったくなくてもChatGPTでマクロを解読できますか?

はい、できます。ChatGPTにコードを貼り付けて「初心者にもわかるように説明して」と指示すれば、プログラミング経験がなくても処理の流れを理解できます。ただし、AIの説明が正しいかどうか、実際のExcelデータと照らし合わせて確認することが大切です。

会社のマクロをChatGPTに貼り付けてもセキュリティ上問題ないですか?

ChatGPT無料版はOpenAIの利用規約上、入力データがモデル改善に使われる可能性があります。機密情報を含む場合は、ChatGPT Team/Enterpriseプラン(データ学習オフ)か、Copilot for Microsoft 365の利用を推奨します。いずれにしても、社内のセキュリティポリシーを事前に確認してください。

Copilot for Microsoft 365がないと、Excel内でAIは使えませんか?

Copilot for Microsoft 365は有料アドオン(2026年2月時点で月額4,497円/ユーザー)が必要です。契約がない場合でも、ブラウザ版のMicrosoft CopilotやChatGPTにコードをコピペすれば同等の解読が可能です。

マクロの記録で作ったコードもAIで解読できますか?

できます。むしろ「マクロの記録」で生成された冗長なコードこそAIが得意とする分野です。「このコードを整理して、何をしているか説明して」と頼めば、不要な行を省いたシンプルなコードと日本語の説明を両方返してくれます。

参考文献