

最近、Web界隈では、おもにエンジニア系の方々から語られるようになった「VBAオワコン」説。
”生成AIで自動化が達成できれば、VBAなんて使う必要ないんじゃない?”という論調で、Web検索エンジンへ「VBA オワコン」と入力すると、以下のような見出しの記事が上位に表示されます。
「【Excelマクロ終了?】自律型AI「Devin」の登場で、VBAスキルは不要になる?」
「VBAはもうオワコン」なんて大間違い!AIと組み合わせて業務効率化を極める」
実は、上記リンク先記事をじっくり読めば、いずれも「結論;VBAはオワコンじゃない!!」という意見に一致しています。
一方、派遣社員である筆者の奥さんが、派遣会社から課されたオンライン・セミナーの宿題テーマを見ていたら、「ExcelをVBAで動かす」というトピックがあってビックリ!!
一般事務の派遣社員さんにも、「VBAプログラムを組め」ということでしょうか?
気になって、奥さんが視聴しているスマホ・セミナーの音声を盗み聞きしたら、どうやら、「プログラムを書きなさい」という話ではないようですね。
VBAプログラム作成はChatGPTへ丸投げする前提で、事務作業の効率化をVBAでどうやって実現するか?という話にフォーカスされているようでした。なるほど!
これらの情報から言えることは、「やっぱりVBAはオワコンじゃないけれど、エンジニアのための専門ツールではなくなり、(コードを生成AIに書かせる前提で)一般事務員さんに開かれた”汎用テクニック”になった」ということなんですね。
そういえば、最近、生成AIにコードを全然書かせていなかったなぁ。この数年で、生成AIがどれくらい賢さを増したか試してみたくなり、改めてVBA初学者になった気分で、プロンプト(質問文)を投げてみました。
※次章以降の内容は、Google Gemini 2.5 Flashと、Mac Microsoft 365版Excel VBEを使用して検証しています。
自分でプログラムを書かないから、操作法を決めてからVBA実行までわずか3分!


この問いに対して、生成AIが返してきた回答は、以下の通りです。
VBAの学習を始めるにあたって、まず取り組むべき簡単なExcel自動化プログラムを10種類挙げます。これらは、基本的な操作を自動化し、VBAの概念を理解するのに役立つものです。
1. セルへの値の入力と取得
2. シートの追加・削除・名前変更
3. 行・列の挿入・削除
4. セルの書式設定(フォント・背景色)
5. データの並べ替え
6. フィルタリング
7. ファイルの保存
8. シート間のデータコピー
9. 繰り返し処理(For-Nextループ)
10. 条件分岐(If-Then-Else)
いいところを、突いてきますねぇ〜。
VBAプログラム教則本の入門チャプターに、必ず出てきそうなトピックスばかりです。
問題は、そこからさらに突っ込んで質問を投げかけた時に、本当に動くプログラムを提供してくれるかどうか、です。
この点に関して、実際に「1. セルへの値の入力と取得」というVBAプログラムを作らせた結果を、画面キャプチャしましたのでご覧ください。
なんと簡単なんでしょう!!
生成AIが組んでくれたVBAプログラムをコピー&ペーストして、Excelで挙動確認をするまで、わずか2分半。プログラムの意味に関する解説もちゃんと記述してくれていますので、その内容をWordやGoogleドキュメントなどに保存し、保管しておけば、他の担当者が後からそのプログラムを見返しても、意味不明な”野良マクロ”化する恐れが軽減できます。
同じ要領で、「3. 行・列の挿入・削除」や「4. セルの書式設定(フォント・背景色)」についても、生成AIにプログラムを組んでもらいましょうか。


コピー&ペースト15秒!!
おなじく、


こちらもコピー&ペーストでわずか15秒!!
プログラムの改修だって、自然言語による指示出しだけで完結!
生成AIを個人で自由に扱えるようになってから、まだわずか数年なのに、本当に正確な秘書役に育ったんですね。進歩の早さにビックリします。
もちろん生成AIは「平気でウソをつく」ことがありますから、人間によるチェックは常に欠かせません。前章”行の挿入VBA”についても、実は最初は、こんな結果を出すプログラムを返してきたりしました。


これを自分がイメージした通りのプログラムに変更していくにも、生成AI以前のように、「自分自身でバグを見つける」必要がないので、比較的早く改修が可能になります。
テニスの自主練習になぞらえた、いわゆる”生成AIへの壁打ち”(人間が、自身の考えやアイデアを生成AIに複数回投げかけ、その応答を通じて思考を整理し、深めていく行為)をくり返すと、自分にとって”正しい”VBAプログラムを、自然言語での指示出しのみで得ることができるようになるわけです。
たしかに、これなら、VBAプログラミングを学習したことのない事務社員でも、ExcelにVBAプログラムを乗せて、作業自動化を実現できる、というわけですね。
まとめ;VBAは全然終わってませんでした!生成AIのおかげで、Excel関数並みに扱いやすいツールとなりましたとさ
Excelマクロあるある「上司からの『Excelの自動化機能、お前抜けたら面倒どうするんだ?』」!? ブラック企業の上司から、一度でもこのような脅迫めいた退職慰留を受けたことがあるエンジニアなら、”Excel VBA属人化問題”の重要性について、よく理解できることでしょう。
しかし、このような問いかけには、今後こう切り返したらどうですか?
「そういうお話は、もう終わりました〜!! ⚪︎⚪︎という自動化機能も、××という自動化機能も、ハケンのAさんやB子ちゃんに依頼すれば、楽々メンテナンスしてくれますよ」といってしまえばいいのです。
もちろん、複雑なVBAプログラムの改良には、生成AIが手を焼くこともあるかもしれませんが、少なくともそのプログラムが「何のために作られ」ていて、「どこに課題があるのか」を、VBA作者でない事務社員でも、生成AIのサポートで容易に分析できるようになりつつあるのです。
そして、繰り返しになりますが、VBAは終わっていませんでした!
PythonやPower Platformの機能がどれほど高度に進化しようと、そこまでの装備を必要としない日々の業務効率化には、VBAが今でも手軽に活用可能であること。さらに、それはかつてVBA職人による属人化危機にさらされていましたが、今やVBA文法をよく理解しない一般事務社員でも扱えるシロモノへと、汎用化されつつあるということがよくわかりました。



さぁ!
あなたも、“終わりなきルーティン・ワークの山”から抜け出すため、ぜひ”終わっちゃいないVBA”と生成AI片手に、気軽にプログラムを組んでみましょう。それはもはや、VBA職人に囲われた特殊技術ではありませんから!





