前任者のExcelマクロが読めない。コメントも設計書もない属人化コードを、AIで解読した実録

コメントゼロ、引き継ぎコードの絶望

引き継ぎ初日のことです。手渡されたExcelファイルを開いて、言葉を失いました。前任者は「これが毎月の締め処理です」と笑顔で言い残しました。そして翌日、そのまま退社していったのです。Visual Basic Editor(VBE)を開きました。そこには灰色の画面に、1,000行を超えるコードが詰まっていました。スクロールバーをいくら下げても終わりが見えません。背中に冷たい汗が伝うのを感じました。コードの中身は、さらに絶望的でした。

プログラムのSub名は「Main_syori」でした。これでは中身がわかりません。変数を探すと、ローマ字の略語が暗号のように並んでいました。SIME_FやKARI_CNT、TMP_RNGといった名称です。処理が数珠つなぎになっており、どこで何をしているのか見当もつきません。何よりも恐ろしいことがあります。1,000行の中で日本語のコメントが1行も存在しないのです。

書いた本人にしか読めない、完全な属人化コードでした。そして、その本人はもう社内にはいません。

動かせない月次マクロの重圧

まず、このマクロは単なる集計ツールではありません。毎月15日の月次締め処理を自動化する、経理の生命線です。少しでも誤作動を起こせば、全部門の売上データが狂ってしまいます。改修など恐ろしくて手が出せません。下手に触ってエラーで止まったら最悪です。全社に頭を下げて回る羽目になるからです。先輩社員は無責任なアドバイスをくれました。「とりあえず動いているうちは触るな」という言葉です。放置できるものならそうしたいのが本音でした。

自分が担当である以上、責任からは逃げられません。エラーが起きた瞬間に責任を問われるのは自分です。15日が近づくにつれて、胃の奥が鉛のように重くなりました。マクロのボタンを押す手が震える未来が、容易に想像できました。中身がわからないブラックボックスは恐怖です。会社の命運を預けるのは怖すぎました。この詰み状態をなんとかしなければなりません。そうでなければ、毎月この重圧に耐えることになります。

すがる思いでブラウザを開きました。AIチャットの画面を表示させます。意を決して、Claude AIにVBAコードの全文を貼り付けました。

VBA解析依頼、AIの不安と驚異の回答

入力したプロンプトは単純なものです。「このVBAコードは何をしているか、処理の流れを日本語で説明してください。変数名の意味も推測してください」と頼みました。送信ボタンを押した直後、画面には一瞬ローディングのアイコンが出ました。ほんの数十秒待つ間、キーボードに置いた手が冷たくなっていました。「AIでも解読不能です」と返ってきたらどうしようと、本気で怯えていたのです。時計の針が少し進みました。

送信からわずか30秒後のことでした。画面に滑らかな日本語の解説が次々と出力され始めました。

ブラックボックスの正体

次に、出力されたテキストを見て、思わず息を呑みました。

そこには、暗号のようだったコードの真の姿が記されていました。処理の流れは大きく3つに分かれているといいます。まずSheet1から当月の売上データを取得します。次に部門別に集計してSheet2に書き出します。最後に印刷範囲を設定してPDF化する流れです。あの謎の変数名についても、明確な推測が提示されました。SIME_Fは締め処理フラグです。TrueかFalseを格納しています。KARI_CNTは仮集計用のカウンター変数でした。

TMP_RNGは、一時的なセル範囲の格納用です。霧が晴れるように全体像が見えました。わからないから怖かったのですね。得体の知れないブラックボックスだから胃が痛くなったのです。中身が「売上集計とPDF化」だとわかった瞬間、恐怖の半分は消え去りました。未知の怪物が、ただの手間のかかる事務作業に変わった瞬間でした。

VBA・Pythonをもっと本格的に学ぶなら

VBAやPythonを実務レベルまで引き上げたい方には「侍エンジニア」がおすすめです。マンツーマン指導・オーダーメイドカリキュラムで、文系出身でも挫折しにくい環境が整っています。無料カウンセリングだけでも学習ロードマップが明確になります。

侍エンジニア 無料カウンセリングを予約する →

データの安全地帯確保

全体像がわかっても、安易に実行ボタンを押すのは危険すぎます。次に知るべきは、このコードが牙を剥くポイントです。

一方で、私は再びAIに問いかけました。「このコードの中で、誤動作したときに最もデータへの影響が大きい処理はどこですか?実行前に取るべきバックアップ手順も教えてください」という質問です。AIは容赦なく急所を指摘してきました。中盤にある「セルの全消去処理」が危険なようです。条件分岐を間違えると、過去の売上データまで白紙に戻すリスクがあります。手動でデータを復旧しようと思えば、数日徹夜しても終わらない量です。対策も示されました。

実行直前に、作業対象シートを別ファイルとして丸ごとコピー保存する手順です。これなら、マクロが暴走しても直前の状態にすぐ戻せます。テスト実行の安全地帯が、ついに確保されました。

AIでVBAコードを業務手順書化

バックアップ戦略が立てば、あとはメンテナンスを可能にするだけです。

VBAコードをAIで解析し、日本語コメントを付けるイメージ

プロンプトに指示を打ち込みました。「このVBAコードの各処理にわかりやすい日本語コメントを追加したコードを出力してください」という内容です。数秒後、出力されたコードは別物になっていました。すべての変数宣言や処理ブロック、分岐条件の上に説明があります。

緑色の日本語コメントが添えられています。「ここは部門Aの売上を集計するループ処理です」といった内容です。「ここでフラグをリセットする」という記述もあります。新しく生成されたコードをVBEに貼り付けたとき、思わず声が出ました。ただのアルファベットの羅列だったものが、意味を持った業務手順書に変わったのです。自分が引き継いだのは「呪い」ではありませんでした。ただの「未完成の道具」だったのだと確信しました。属人化コードが、誰でも読めるコードに昇華したのです。

これで次任者に引き継ぐときも安心です。あの恐怖を味わわせずに済みます。

VBAを動かす。変身の瞬間

コードの構造が手に取るようにわかります。バックアップも完璧です。ここで、私は一つの実験をしたくなりました。最も意味不明だった変数名を書き換えてみます。「SIME_F」を「isShimeCompleted」という名前に変更したのです。たった1行の改修です。手元のバックアップファイルを確認し、深呼吸をしてから実行ボタンを押しました。画面が数回ちらつき、指定されたフォルダに新しいPDFが生成されました。

中身の数値は完璧に合っています。ついに動いたのです。自分で直したコードが、業務を完遂しました。ただ怯えるだけだった事務員が、VBAを「触れる人間」へと変わった瞬間でした。

AI使いこなしに必須の基礎知識

そのうえで、AIは魔法の杖に見えますが、落とし穴もあります。AIはコードを「解読」してくれます。しかし、結果が正しいか「判断」するのは人間の仕事です。今回、AIの提示した戦略が腑に落ちた理由があります。過去に少しだけマクロを触った記憶があったからです。もし基礎知識すら知らなければ、危険でした。AIの出力したコードを、そのまま貼り付けていたかもしれません。

それでは、より致命的なエラーを引き起こす恐れがあります。最強の補助ツールを使いこなすには、使い手に基礎知識が求められます。Amazonで評価の高いVBA入門書を、一冊手元に置いておくのは賢明な選択です。本気でスキルを定着させたいなら、スクールで体系的に学ぶのも強力な武器になります。AIというブースターに点火するためには、土台となる知識が不可欠です。

AIで負の遺産コード解読。Python自動化

前任者が残した負の遺産に立ち向かう方法は確立されました。手順は3つに集約されます。コード全文をAIに貼り「何をしているか」を聞きましょう。「最も危険な処理」を特定して、バックアップ戦略を立てます。最後にコメントを自動生成して、脱属人化を図ります。この手順を踏めば、どんなコードもコントロール可能な業務ツールへと変貌します。未知の恐怖は、解読と対策によって打ち破れるのです。

VBAの解読に成功したら、次はより高度な自動化へ進む道が開けます。脱Excelを果たし、Pythonを用いた自動化の世界へ足を踏み入れる準備が整うはずです。次のステップへの扉は、すでに開いています。

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

AIはまるでプログラミングの先生のようです。変更点を逐一解説しながら、コメント付きのVBAコードを生成してくれました。出力されたコードを見ると、説明が追加されています。Sub名の下に「’ メイン処理:月次締め処理を実行します」とあります。変数「SIME_F」の隣には「’ 締め処理フラグ」と書かれていました。これなら、未来の私がこのコードを見ても安心です。何をしているのかが一目瞭然だからです。

さらに、AIは処理のブロックごとに詳細なコメントを付けてくれました。「ステップ1: 売上データを取得します」「ステップ2: 部門別に集計して書き出します」「ステップ3: PDFとして保存します」といった内容です。まるで丁寧な業務手順書を読んでいるような安心感がありました。このコードがあれば、もう暗号に怯える必要はありません。もしエラーが出たとしても、すぐに原因を特定できる自信が湧いてきました。

しかし、これで終わりではありません。コメント付きコードができたからといって、いきなり実行するのは無謀です。

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

無料プレゼント

Excel業務を自動化する前に確認するチェックリスト(PDF)

自動化していい作業かどうか、VBAかPythonか、最初に避けるべき落とし穴。実務でよく迷うポイントを1枚にまとめました。メールアドレスだけで受け取れます。

無料でチェックリストを受け取る

¥980 ミニキット

コピペで動かせる3スクリプト+自動化チェックリスト

最新ファイルの自動選択・部署名ゆれの正規化・CSV文字コード確認の3本セット。今週の作業を1つだけ楽にするための最小キットです。

ミニキットを見る(¥980)

関連する学びを少し広げるなら

ExcelやVBAの作業をもう少し整理して学びたい方には、実務寄りの本で確認する方法もあります。

Excel・VBA業務効率化の関連書籍(Amazon) →

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

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

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

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

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

[アンケート] この記事は役に立ちましたか?

30秒で答えられます。改善の参考にします。

1問だけ回答する