誰も読めなくなったVBAマクロをClaude AIに渡したら、3分でPythonに変換できた話

月末の夕方のことです。
全社一斉に、あるメールが配信されました。
「経理システム更新に伴う、書類変更」の通知です。
普段なら、数秒で読み流して捨てる内容でした。
ですが、今回は事情が全く違いました。
退職した前任者が遺したマクロを、直す必要が出たのです。
あの「神エクセル」を改修しなければなりませんでした。

属人化VBA:死活問題とスパゲッティコード

「属人化」という言葉があります。
経営層が好む言葉ですが、現場には死活問題です。
一人の天才が組み上げたシステムは、維持が困難です。
職人が席を立った瞬間、それは負の遺産となります。
VBAはその最たる例と言えるかもしれません。
手軽に始められる分、設計書が作られにくいのです。
場当たり的な拡張が、何度も繰り返されてしまいます。

まずは覚悟を決めて、ファイルを開きました。
「Alt+F11」で、専用のエディタを起動します。
キーボードを叩く指が、ひどく重く感じられました。
目に飛び込んできたのは、複雑なコードの山です。
数千行にも及ぶ、解読不能な記述が続いていました。

解読不能なコードと引き継ぎの闇

画面には、黒と青の文字がびっしりと並んでいます。
変数名は「i」や「tmp」などの羅列ばかりでした。
意味を汲み取ることが、非常に難しい状態です。
エラー処理は、全て無理やり隠されていました。
引き継ぎ資料には「コメント参照」とあるだけです。
そのコメントも、古い備忘録のような内容でした。
これでは、処理の内容を理解できるはずもありません。

どこで計算を回しているのか、全く不明でした。
一行ずつ動作を確認してみることにします。
しかし、変数の値が目まぐるしく変わります。
背後でExcelの画面が、激しくチラつきました。
処理を追いかけるだけで、疲弊してしまいました。

VBA負の遺産と深夜の格闘

次に、「どこに正解があるのか」と自問しました。
結局、答えは見つからないままでした。

VBEに表示されたスパゲッティ状態のVBAコード

「どこまで遡れば、正解に辿り着けるのか」。
その日は深夜まで、画面と睨めっこをしていました。
コードには「マクロ記録」の残骸が散乱しています。
特定の動作が連打され、画面がガクガクと震えます。
一番不安だったのは、変数の定義がないことです。
全てのデータが、曖昧な型で処理されていました。

ブラックボックスツールの継承責任

いつメモリが解放されるのかも、分かりません。
自分で作ったツールなら、構造を把握できています。
しかし、他人が書いた古いコードは別物です。
一箇所触れば全体が崩れる、危うさがありました。
「もし明日、このツールが止まったらどうしよう」。
部署の業務が麻痺する恐怖を、強く感じました。

一方で、重大な事実に気がつきました。
このツールの責任は、今、自分にあるのです。
前任者から、私が引き継いでしまったのだと痛感しました。

AIでVBAをPythonに:変換の秘訣

1,000行ものコードを、手で直すのは無理です。
到底、正気の沙汰とは思えませんでした。
そこで、最新のAIの力を借りることにしました。
やり方は、拍子抜けするほどシンプルです。
エディタのコードを、全てコピーしました。
それをClaudeのチャット欄に貼り付けるだけです。

Claude AIがPythonコードを生成しているチャット画面

ただ「変換して」と言うだけでは不十分です。
VBAとPythonは、処理の考え方が根本的に違います。
VBAはセルを一つずつ操作するのが基本です。
これをそのまま再現すると、非効率になります。
AIを動かすには、明確な指示が必要だと感じました。

AIを賢く使いこなすためのプロンプト

そのため、工夫して指示を出すことにしました。
「Pythonを用いて、同等の処理を行ってください」
「保守性の高い、モダンなコードにしてください」
「セル操作ではなく、データとして処理すること」
「冗長な部分は、最適化してください」と伝えました。

AIへの大量コード投入、その不安

意を決して、実行キーを叩きました。
しかし、「本当に読み込めるのか」という不安もありました。
1,000行という膨大な量だからです。
ブラウザが固まってしまうかもしれません。
あるいは、AIに拒絶される可能性も考えました。
不安を感じつつ、コードをAIに託しました。
ですが、Claudeは微塵も動じませんでした。

AI×PythonでVBA開発の劇的変革

「変換案を作成します。お待ちください」と出ました。
その間、わずか数秒のことでした。
かつては、全員のPCを設定して回ったものです。
あの地獄のような苦労に比べれば、一瞬のことです。
この待ち時間は、希望に満ち溢れていました。

「動くけど誰も直せない」VBAマクロが抱える爆弾に関する解説図(日本語UI)

約3分が経過した頃のことです。
かつて同じ処理を自力で作った時のことです。
その際は、1.5ヶ月もの時間を費やしました。
それが、AIとの対話だけで終わろうとしています。
最終形のコードが、一気に完成してしまいました。
全体の行数も、劇的に変化しています。

まず、VBA時代のコード量についてお話しします。

Python移行でコード・ファイル・変数名改善

以前は1,000行近くあった命令文のことです。
Pythonのライブラリを使えば、80行になりました。
ファイルサイズの問題も、同時に解決しました。
大きなマクロ付きファイルと戦う日々は終わりです。
今は、数KBのスクリプトがあるだけになりました。
シンプルなCSVが一つあれば、それで十分なのです。

画面を埋め尽くす黒と青の文字に関する解説図(日本語UI)

AIが回答を始めてから、数秒後のことです。
画面には、新しいコードがズラリと並んでいました。
信じられないほど、スリムな内容になっています。
元のVBAの処理が、全て凝縮されていました。
変数名も、一目で意味が分かるものばかりです。
「顧客ID」など、管理しやすい名前に変わりました。

VBAの苦痛は過去、Pandasでデータ処理を刷新

コード解読に費やした時間は、何だったのでしょうか。
目を皿にして追いかけた日々が、嘘のようです。
そこには、セルの選択命令などは存在しません。
代わりに、効率的なデータ操作が記述されていました。
Pythonは、シート全体をまとめて処理します。
巨大なデータベースを扱うような、感覚に近いものです。
たった数行で、複雑な集計が完結していました。

まるで、古い機械が最新機器に変わった感覚です。
その進化に、私はとても感動しました。

💡 ここで一度立ち止まって考えてみてください

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

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

VBAスパゲッティをAIとPandasで保守性向上

なぜVBAは、複雑になりやすいのでしょうか。
画面を操作する感覚で書くことが、一因かもしれません。
「選ぶ、貼る」という動作が、そのままコードになります。
しかし、Pythonは裏側でデータを高速に処理します。
この違いにより、コードは劇的に短くなりました。
ロジックの流れが、明確に目で追えるようになります。
修正が必要な際も、影響範囲をすぐ特定できます。

これは「保守性の高いコード」そのものでした。
あの恐ろしい爆弾を、AIが無毒化してくれたのです。

AIによるレガシー変革、設計と仕事の未来

今回の体験は、私の認識を根底から変えました。
「あの人がいないと無理だ」という諦めは不要です。
レガシーシステムを「AIに渡す」道が開けました。
AIは単なる翻訳機ではありませんでした。
泥臭い処理を、洗練された形に再構築してくれます。
AIは「より良い設計」を理解していると感じました。

AIによる属人化解消とITスキル向上

総務や経理の現場には、常に不安がありました。
「ツールが壊れたら直せない」という悩みです。
その不安が、業務の効率化を邪魔していました。
しかしAIの登場は、その壁を打ち破るはずです。
設計書がなくても、AIが動作を解析してくれます。
より堅牢なコードへと、昇華させてくれるのです。
属人化の解消は、組織の生産性を大きく上げます。

AIで変わる非エンジニアの学習と業務課題

AIとの協力は、新たなスキル獲得の場となります。
生成されたコードは、生きた教材そのものです。
「なぜこの書き方が良いのか」を考えることが大切です。
そうすることで、ITリテラシーも自然に高まります。
AIは、多くの課題に光を当てる強力な道具です。
「神エクセル」を恐れる時代は、もう終わります。

AIが拓く非エンジニアのプログラミング

「壊れたら誰も直せない」という不安のことです。
これまでは、便利なツール作りをためらっていました。
ですが、AIの登場で状況は一変したと感じています。
停滞感を打ち破る、大きなきっかけになりました。
知識のない私でも、新しい領域に踏み込めたのです。
AIを頼ることで、不可能が可能に変わりました。

AIが変えたプログラミング観とPythonコード

以前、プログラミングは特殊な技能だと思っていました。
専門家だけが学ぶべきものだと、考えていたのです。
エラーと戦い、夜遅くまで苦労するイメージでした。
自分には縁のない世界だと、勝手に決めていました。
しかし、今回その認識が大きく変わりました。
AIは、優秀な先生のように意図を汲んでくれます。
モダンな考え方を、私に提示してくれました。

AIコードの感動と人の役割

もちろん、AIの回答を鵜呑みにはできません。
意図通りに動くか確認するのは、人間の役割です。
改善点を見つける作業も、私が担当すべきことです。
そのために、Pythonの基本を少しずつ学びたいです。
基礎概念を理解することが、重要だと感じました。

期待をはるかに上回る、素晴らしいコードでした。
VBAのエディタとは違う、整然とした画面です。
変数名も分かりやすく、感動を覚えるほどでした。
ライブラリが適切に使われ、無駄がありません。
データ処理の流れが、物語のように明確でした。

AIで神エクセルからの解放

AIのコードが100%完璧とは限りません。
ですが、あの怪文書がここまで整理されたのです。
その事実に対して、私は大きな衝撃を受けました。
何日もかかると覚悟した作業が、数分で終わりました。
未来につながる一歩を、踏み出せた感覚です。
これは、私自身の「ブレークスルー」となりました。

AIとPythonで神エクセル解放

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

無料プレゼント

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

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

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

¥980 ミニキット

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

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

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

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

PythonやExcelまわりの自動化をもう少し体系的に学びたい方には、実務向けの技術書で土台を固める方法もあります。

Python業務自動化関連書籍(Amazon) →

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

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

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

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

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

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

1問だけ回答する