コメントゼロ、引き継ぎコードの絶望
引き継ぎ初日のことです。手渡された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コードの各処理にわかりやすい日本語コメントを追加したコードを出力してください」という内容です。数秒後、出力されたコードは別物になっていました。すべての変数宣言や処理ブロック、分岐条件の上に説明があります。
緑色の日本語コメントが添えられています。「ここは部門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)著者はこうして解決の糸口を見つけた
著者も同じ境遇から始まりました。独学でここまで自動化した道のりを参考にしてみてください。
学習サービスとアンケート
学習サービスとアンケート
このスキルを活かしてさらに前へ進むなら
Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。

