「このマクロが何をしているか説明して」とClaude AIに聞いたら、引き継ぎ資料が5分でできた

前任者の方が残したエクセルのボタン。押せば動くのですが、中身は誰も知らないという状況がありました。異動や退職のたびに「触るな危険」のブラックボックスが社内に増えていくように感じます。VBE(Visual Basic Editor)を開いてみても。英語の羅列に圧倒されてそっと閉じてしまう。なんてことも少なくないのではないでしょうか。そんな、誰も読めないようなVBAコードでさえ。

今ではAIに依頼すれば数分で解読が終わるようになりました。

今回は、ClaudeやChatGPTを使って。古いマクロの解読とドキュメント化を試した際の、リアルな手順をまとめてみました。

マクロ解読の悩み、AIが解決

まず、引き継ぎの席で、謎のマクロに直面することがよくありました。ドキュメントは存在せず。作成したご本人でさえ当時の記憶が曖昧だったりすることもあります。コードの解読に何日も費やした結果。結局は手作業に戻したという経験をお持ちの方も少なくないのではないでしょうか。

以前、鳴り物入りで導入したマクロが現場で全く使われなかったという経験がありましたが、これと同じような構造がここにもあるように感じます。中身がブラックボックス化してしまったツールは、エラーが出た瞬間に使われなくなってしまう運命にあるのかもしれません。担当者が変わるたびにゼロから解読するのは、どう考えても時間の無駄になってしまうのではないでしょうか。

手順は拍子抜けするほどシンプルでした。VBEを開き、対象のモジュールに書かれているコードをすべて選択してコピーします。そして、そのままClaudeやChatGPTのチャット欄に貼り付けるだけです。

次に、特に凝ったプロンプトは必要ないようです。例えば、以下のように依頼します。

AIのVBAコード読解と日本語解説

「このVBAコードが何をしているか、処理の流れを日本語で説明してください」

本当にたった一行の指示で。難解なコードが分かりやすい日本語の解説に変換されました。変数名が「a」や「tmp」のようになっていても、AIが文脈から意図を推測して。補足説明までしてくれるのには驚きました。

聖域マクロの課題、AIが解決

一方で、既存のマクロが、皆さんの業務をどれほど支えているでしょうか。しかし。「誰が作ったのか分からない」「動作が不安定」「やたらと処理が遅い」といった。漠然とした不満を抱えている方も少なくないのではないでしょうか。引き継ぎのたびに、動いているのはわかるものの誰も触れない「聖域」と化し。その奥に潜む問題が放置されているケースは珍しくないように思います。

ただコードを読み解くだけでなく、そのマクロが抱える問題を特定し。さらに良くするための改善案まで提示してくれるのが。AIのすごいところだと感じます。AIは単なるコードの翻訳機ではなく、私たちの業務を効率化し。未来へ繋ぐためのビジネスパートナーにもなり得る存在だと思います。

たった一行の指示で、難解なコードが分かりやすい日本語の解説に変換されるに関する解説図(日本語UI)

「このVBA、なんとなく処理が遅い気がするのですが。原因と改善策を教えてもらえませんか?」
「このマクロ。たまにエラーで止まるんです。どんなリスクがあるか、どう対処すればいいか教えてほしいです。」

AIによるVBAコード改善の仕組み

VBAコードを貼り付け、このように問いかけるだけで、AIは。まるで熟練のプログラマーがコードレビューをするかのように。マクロを詳細に分析し始めてくれます。単にコメントアウトされたコードを解説するだけでは終わりません。なぜ遅いのか、どこに問題があるのか、具体的にどうすれば改善できるのかまで。明確な答えを提示してくれました。

そのため、では、なぜAIはそこまで高度な「改善提案」ができるのでしょうか。その仕組みは、AIが学習してきた膨大な情報量にあるようです。AIは、世界中のオープンソースコード、プログラミングの教科書。技術フォーラムでの議論、バグ報告とその修正履歴など。ありとあらゆるコードとそれに付随するベストプラクティス。アンチパターン(避けるべき書き方)を学習しています。私たちのVBAコードを受け取ると。

AIはそれを数多の学習済みデータと比較・照合します。このコードの記述は非効率ではないか。この処理はより高速な代替手段があるのではないか。といったパターン認識を瞬時に行っているようです。

ベテランAIの高速化提案

あたかもAI自身が長年のプログラミング経験を積んだベテランエンジニアであるかのように。一般的なバグの温床となりがちな記述や。処理速度を著しく低下させる要因を見つけ出してくれます。例えば、Excelシートへの直接的なセル書き込みを繰り返す処理は。一般的に遅いとされています。AIはこれを認識し。一旦メモリ上の配列にデータを格納してから一括でシートに書き出す方法を提案してくれます。なぜなら。

シートへのアクセス(I/O処理)はCPUがメモリを操作するよりもはるかに時間がかかり。配列を使えばそのボトルネックを回避できると知っているからです。さらに。Application.ScreenUpdating = False といった画面更新の一時停止や。Application.DisplayAlerts = False といった警告表示の抑制など。

処理高速化の「お約束」とも言えるテクニックも具体的に提示してくれます。これらは。人間の目には見えないExcel内部の再描画や計算処理の負荷を一時的に停止させることで。マクロ本来の処理に集中させるための方法です。

現場の業務改善:マクロ高速化とエラー対策

総務、経理。人事といった部署の現場で役立ちそうな具体的な改善案は多岐にわたります。例えば、マクロの処理速度改善は、日々の定型業務時間を大幅に短縮し。残業時間の削減に直結します。毎朝数十分かかっていたデータ集計が数分で終われば。その分の時間をより戦略的な業務に充てられるようになります。また、エラー耐性の向上は、マクロの停止による業務中断のリスクを減らし。担当者のストレスを軽減する効果も期待できます。

ファイルが存在しない場合や、シート名が想定と異なる場合など。予期せぬ状況に備えたエラーハンドリング(On Error GoTo ErrHandlerなど)を提案し。マクロが途中で止まらず。どこでエラーが発生したかをログに残すといった賢い振る舞いを推奨してくれます。これにより。「また止まった」「原因が分からない」といった混乱から解放されるかもしれません。

VBEからコードをコピーしてClaudeに貼り付ける画面

AIのマクロ診断と改善提案

さらに、可読性や保守性の向上もAIは重視しているようです。例えば。意味の分かりにくい「a」や「tmp」といった変数名を「rowCount」や「targetSheet」のように。その役割が明確にわかる名前に変更することを提案してくれます。あるいは。コード中に直接書かれた「100」や「”C:\データ\”」のようなマジックナンバー(意味不明な定数)を。定数として定義し直すよう促してくれます。これにより。

後からコードを読んだ人が「この数字は何を意味しているのだろうか」「このパスは何のパスだろうか」と悩む時間をなくし。引き継ぎの際の手間も大きく削減できるのではないでしょうか。まるで、自分のマクロに「健康診断」を受けさせ。その診断結果に基づいた「治療計画」を立ててもらうようなものだと感じました。

AI提案、文脈理解の重要性

しかし、AIの提案をそのまま鵜呑みにするのは、少し注意が必要かもしれません。AIはあくまでコードの論理的な構造や一般的な慣習に基づいて提案をするに過ぎません。会社の独自のルール、業務プロセスの制約、利用者のITリテラシーのレベル。セキュリティポリシーといった。コードの外にある「文脈」までを理解することは難しいようです。例えば、AIは処理速度を最大限に高めるコードを提案するかもしれませんが。

部署によっては「誰にでも分かりやすく、シンプルなコード」の方が。処理速度が多少犠牲になっても良いと判断される場合もあります。複雑なエラーハンドリングは確かに堅牢ですが。それをメンテナンスできる人材がいなければ。かえってブラックボックス化を進めてしまう可能性もあります。

💡 ここで一度立ち止まって考えてみませんか

PythonやExcel自動化スキルを活かして、ITエンジニアとして転職をお考えの方には、「EBAエデュケーション」という選択肢があるようです。企業が求めるエンジニア像に合わせたカリキュラムで、実務に直結するスキルを習得できるとのことです。

ITエンジニア転職・EBAエデュケーション →

AIでマクロを使いこなす

AIが提示した改善案は。あくまで「たたき台」であると認識しておくと良いと思います。その提案を基に、自分自身の業務知識と照らし合わせ。「本当にこの改善は必要なのか?」「改修にかかる時間やコストに見合うメリットがあるか?」「導入による新たなリスクはないか?」といった問いかけを繰り返し。最終的な判断を下すのは私たち人間の役割です。AIは強力なアシスタントですが、最終的な責任は常に私たち人間にあります。

しかし、これまでブラックボックスだったマクロが。AIの力によって「議論の対象」になります。その結果、マクロの引き継ぎがスムーズになるだけでなく。業務プロセスの本質的な改善へと繋がるきっかけも生まれるかもしれません。IT部門に相談する前の一次スクリーニングとしてAIを活用することで。具体的な問題点と改善案を提示でき、より建設的な議論へと持ち込めるようになります。

マクロに「振り回される」立場から、「マクロを使いこなす」立場へと変わるための。強力なツールが今、私たちの目の前にあるのです。

AIが変えるマクロ認識と業務効率

AIの力を借りて、これまで「触るな危険」のレッテルが貼られていたマクロが。少しずつ「理解できる」ものへと変わり始めました。一番大きな変化は、精神的な負担が減ったことだと感じています。以前は、業務中にマクロがエラーで止まるたびに、まるで時が止まったかのように。どうすることもできない無力感に襲われていました。しかし、今では「AIに聞けば、何かヒントが得られるかもしれない」という安心感が。

心の片隅にあるのです。

AIによる引き継ぎ・IT連携の円滑化

例えば、新しい担当者への引き継ぎの場面です。以前は、古いマクロについて説明する際、「これは前任者からこう言われたので。こう使っています」という曖昧な説明しかできませんでした。しかし、AIにコードを解説してもらい、その内容をドキュメントとして残すことで。自信を持って「このマクロは、こういう目的で。このような処理をしています」と説明できるようになりました。

さらに、AIが提示してくれた改善案も添えて、「将来的には。このように改善できる可能性もあります」と。未来を見据えた引き継ぎができるようになったのは、大きな進歩だと感じています。

「このVBAが何をしているか、誰も分からない」問題が引き継ぎのたびに起きるに関する解説図(日本語UI)

AI通訳でIT連携円滑化

また、IT部門との連携も、以前よりスムーズになりました。これまでは漠然と「このマクロが遅い」「たまにエラーが出る」としか伝えられず。具体的な問題点を説明できずにいました。しかし、AIに分析してもらうことで。「このループ処理がボトルネックになっているようです」「特定のシートが存在しない場合にエラーが発生しているようです」といった具体的な情報を持って相談できるようになりました。

これにより、IT部門の方も問題の所在を把握しやすくなり。より建設的な議論ができるようになったと感じています。まるで、私たちがプログラミングの専門用語を理解していなくても。AIが通訳をしてくれるような感覚でした。

AIと進む、知識ゼロからのマクロ改善

そして、何よりも驚いたのは、私のようなプログラミングの知識が全くない事務職でも。AIの力を借りれば、マクロの改善に一歩踏み出せるようになったことです。AIが提案してくれた改善案を元に。VBEで実際にコードを修正してみることもありました。もちろん、いきなり複雑な変更を加えるのは怖かったので。まずはコメントの追加や変数名の変更といった。可読性を高めるための簡単な修正から始めました。

AIの解説と改善案が手元にあることで。「この部分なら触っても大丈夫そうだ」という自信が少しずつ芽生えてきたのです。この小さな成功体験が、もっとマクロを理解したい。もっと業務を効率化したいという意欲に繋がっていきました。

AIとの協働:VBA習得と限界理解

最初は「AIって難しそう」「私には使いこなせないだろう」という先入観がありましたが。実際に使ってみると、驚くほど身近な存在だと感じました。まるで、いつでも質問に答えてくれる。優秀な若手エンジニアが隣に座ってくれているような感覚です。彼(AI)は決して私たちを馬鹿にすることなく。どんな初歩的な質問にも丁寧に答えてくれました。この経験を通じて、ブラックボックスだったVBAが、少しずつですが。

自分の手でコントロールできるものに変わっていく喜びを感じられるようになりました。

AIは魔法の杖に非ず、文脈と人の判断

さらに、AIは本当に便利なツールですが、やはり「魔法の杖」ではないということを。この一連の経験を通じて強く感じました。AIが提示する改善案は、あくまで一般的なベストプラクティスに基づいたものです。私たちの会社の特定の業務フローや、部署独自のルール。あるいは利用者のITリテラシーのレベルといった。細かな「文脈」までは理解できません。そのため、AIの提案をそのまま鵜呑みにするのではなく。

必ず自分たちの業務に照らし合わせて。「本当にこれで良いのか?」と考えるプロセスが不可欠だと学びました。

例えば、AIは処理速度を最優先するコードを提案することがありますが。私たちの部署では「多少遅くても。誰にでもコードが理解できるシンプルさ」の方が重視されるケースもあります。あるいは、エラーハンドリングを厳重にすることでマクロの堅牢性は増しますが。その分コードが複雑になり、後々のメンテナンスが難しくなる可能性も考えられます。これらの判断は、AIにはできません。

私たち人間が、業務の全体像を理解し、何が最も重要かを見極める必要があるのです。AIはあくまで、その判断材料を提供してくれる「最高の相談相手」であり。最終的な意思決定は常に私たちに委ねられているのだと感じました。

AIにVBAコードを貼り付けて解説させる基本的な方法に関する解説図(日本語UI)

AIが変える業務改善:知識不要な主体者、検証と慎重さ

この経験は、私にとって大きな「気づき」を与えてくれました。それは、プログラミング知識がなくても、AIを介してITツールと対話することで。業務改善の主体者になれるということです。これまでIT部門任せだったり、諦めていた問題に対して。自分からアプローチできるようになりました。AIが教えてくれた改善案を元に、部署内で「このマクロ。もっとこうしたらどうだろう?」と話し合う機会も増え。

チーム全体の業務改善意識が高まったようにも感じています。

まず、もちろん、AIの提案を実際にコードに反映させる際には。細心の注意を払っています。必ずテスト環境で動作確認を行い、本当に意図した通りに動くか。新たな問題が発生しないかを入念にチェックします。そして、元のコードは必ずバックアップを取るようにしています。この「検証」と「慎重さ」は。AIを使いこなす上で最も大切な心構えだと感じています。

AIが拓く事務職のITと業務改善

関連リンクとチェックリスト

学習サービスとアンケート

このスキルを活かしてさらに前へ進むなら

Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。

プログラミングスクール Enjoy Tech!(エンジョイテック) →