和風スパゲティのレシピ

日本語でコーディングするExcelVBA

ExcelVBAと生成AIについて思うこと

2025年12月1日をもって、ブログ開設6周年となりました。

いつもご愛読いただいている皆様本当にありがとうございます!


本記事が548記事目の投稿となるわけですが、このブログ6年の軌跡をみると、
ブログ執筆数

こんな感じでほぼ半分は今年1年で書いた記事となります。


実は今年度、4月1日から365日毎日投稿に挑戦しておりまして、
現在245日目の更新となりました。

何とか3月31日まで続けていこうと思っていますので、
よろしければお付き合いいただければと思います。


さてこの毎日投稿、なぜ挑戦したのかといいますと、
「AIの台頭でブログという文化が廃れる前にこのブログを完成させたかった」
というのが目的でした。


昨今目覚ましい発展を遂げる生成AIによって、WEBの世界は大きく変化しています。

ブログはのんびりやる予定だったのですが、
そうも言ってられない状況になってしまった気がして笑


ということで今日は2025年時点での、
生成AIに対する感想や考察を書いていこうと思います。

お暇な方はお付き合いください。

生成AIとExcelVBAの相性

生成AIがExcelVBAを書いてくれるというのは皆さんご存じかと思います。

いろいろなAIがあり、生成するコードにも特徴があって面白いですね。


どのAIがExcelVBAに向いているかを検証するイベントも開催しましたので、
興味がある方はこちらの記事ものぞいてみていただければと思います。


さてこの生成AIとExcelVBAの関わりなのですが、まず感じているのは、
生成AIの登場でExcelVBAの価値がかなり盛り返したという点です。


これは生成AIの特徴でもあるのですが、生成AIは「言語」を扱うことに長けたものであるため、プログラミング言語と相性がいいですね。


昨今、ExcelやOfficeの新機能、MS以外のSaaS製品として

  • スピルをはじめとした配列関数
  • PowerQueryなどのデータ加工ツール
  • キントーンやSharePointなどのデータベースアプリ

あたりが台頭し、ExcelVBAの出番は減少傾向にありました。


しかしこれらの製品は「GUI(ユーザー操作で作る)アプリ」であったため、
生成AIが思ったより活躍してくれません。

AIはテキスト生成は得意ですが、ユーザーの操作はテキストだけでは難しく、
そもそもAIでは完成品を作ることができない(ユーザー操作が必要な)ため、
意外とローコード・ノーコードツールとそこまで相性が良くないですね。


最新機能はAIが学習できる記事がネット上で少ないというのもありますし、
あったとしても操作手順の画像集だと学習に向かない問題もありそうです。

例えばスピル系の関数の生成でも、AIは正しくない関数を生成しがちで、
さらに作業列を使うという発想はできないようで難読関数をすぐ生成してきます。


対してExcelVBAは良くも悪くも枯れた技術ですので、
ネットに記事も豊富で、バージョン更新がない分その正確性も高いです。

もともと生成AIがプログラミング言語の記述能力が高いことと、
CやJavaScript、Phythonの記事からも間接的に学習できることで、
上記のツールに比べると精度の高いコードを生成してくれる印象があります。


しかもソースコードの場合は「(良くも悪くも)貼り付けてそのまま使える」ため、
GUI系のアプリよりAIに任せられる範囲が広いこともメリットですね。


また、AIの力で新規にVBAを勉強するのが格段に楽になったのも大きそうです。

AIは調べるだけでなく伴走しながら聞き手役を務めてくれるため、
AIに質問しながら勉強すると学習が捗ります。

加えて「AIに作ってもらったコード」を参考にコーディングを進められるため、
初学者にとって「最初の1行を書き始める」ハードルが下がったのも大きいです。


このようにプログラミングという分野自体がAIの活用に向いているため、
ExcelVBAの価値も相対的に回復した印象がありました。


これは他の分野でも同じ傾向があるそうで、

  • WEBサイト製作アプリを導入するよりソースをAIに書かせた方が楽
  • RPAで動かすよりAPIを叩くコードをAIに書かせた方が楽

といった形で、ローコードツール全体の価値が多少落ちたとも言えるようです。


もちろんだから全部ExcelVBAを使えという話ではなく、
適材適所で一番効率の良いアプリを選ぶ必要があります。

AIをアシスタントにつけた場合は、
VBAの守備範囲がちょっと広くなるという話ですね。

ExcelVBAを生成AIに書かせる

さて肝心のAIのコーディング力とその活かし方ですが、
雑感を並べてみたいと思います。

マクロ全体の丸投げは意外と効率が悪い

AIに「○○のマクロを作って」と頼むと、
びっくりするぐらい性能の良いコードを書いてくれます。

「こんなことまでできるのか!」と驚きますよね。


ということで生成AIの性能は非常に高いことは疑いようがないのですが、
意外とコードの丸投げは効率化になっていなそうだなと気づきました。


AIが作ってくれたコードは「完成度80%のコード」なのですが、
これが「自分が作った完成度80%時点のコード」とちょっと違うのです。

残り20%を埋めるのにかかる時間がかなり変わるんですよね。


中身を熟知した80%と中身がわからない80%の違いといいましょうか、
結構修正にかかる時間を取られるので、実は0から書いた方が早いかもしれません。


80%の完成度だけど残り20%を埋めるときに40%くらいは書き替えるため、
実は作業進捗的には30~40%しかやってくれていないかもしれません。


これはAIの研究でも言及されているようで、

  • AIを使わせると7割の人が「作業効率が上がった」と回答した。
  • しかし実際の作業時間を見ると、AIで時間短縮できた人は4割ほどだった。
  • およそ3割の人は「AIを使ってかえって時間がかかってしまったが、効率は良くなったと誤認」していた。

という現象がおきることもあるようです。
※ ソースなくしたので見つけたらリンク張っておきます。


実はこれ、ブログを書いていても同じように実感するんですよ。

ブログを書くとき、自ブログの類似ページのURLを渡して、
「このページの文章校正でこのメソッドの解説記事を書いて」
とお願いすると、かなりの精度で記事を仕上げてくれます。


ほんとに8割が完成してるイメージの。


でもそこから記事を書きあげるときに、

  • AIが間違っている記述の修正
  • AIが作ってくれたサンプルコードの実行テスト
  • 追加したい文章の挿入と推敲
  • なんとなくイメージと違う文章の差し替え

このあたりをやっていくと、気づくと時間が結構経っています。


校正にかかる時間も実感できないのですがいつもよりかかってしまうようで、
時計を見るとすべて自力で書いたときとそう変わらない時間が経ってるんですよね。

この「実感はできないが遅くなっている」というのが面白いなと思いました。


なので今ブログの本文執筆にはAIを使わなくなっています。
最後の校正と添削はAIの十八番なのでそこはお願いしていますが。


プログラミングにおいても執筆作業においても、
「全体をAIに作らせて人間が肉付けして仕上げるのは意外と非効率」
という点は意識しておく必要がありそうだなと感じています。

下層関数やライブラリの作成は本当に得意

先ほど「AIが全体を作って人間が補完」が実は怪しいと述べましたが、
その逆「全体を人間が作ってAIが補完」については文句なく超性能ですね。

「簡単だけど書くのが面倒なコード」なんて人間が書くものではないですから、
これこそAIにやらせるとものすごく便利です。


たとえば簡単な処理の部分はコメントだけ書いておいて、
「このコメント部分のコードを埋めてください」と頼んだり、

関数名と引数だけを設定して中身が空の関数を用意して、
「この関数の中身を作成してください」と頼んだり、

マクロの実行条件を提示して、
「ユーザー入力のチェックと警告を行うコードを作ってください」と頼んだり。


このあたりは本当にそのまま使えるコードを作ってくれることも多いですし、
出来上がりのチェックも楽なのでAIのお世話にかかる時間も少ないです。


これも先ほど同様ブログ執筆でも同じことを感じていまして、
記事を書きあげてから「サンプルコードの種類を増やして」と頼んだり、
記述に漏れがないか調べてもらう使い方では重宝しています。


この使い方をするとAIの真価を発揮できる気がしているので、
こんな使い方ができないかを模索してみるといいんじゃないかなと思います。

コーディング規約をAIに読ませる/作らせる

本ブログの500本記念記事として、
私のコーディングガイドラインを公開しました。


こちらもぜひご参考いただければと思いますが、
これをAIに読ませてコードを書かせた結果がこちらとなります。


詳細はこちらの記事を読んでもらえればと思いますが、
コーディング規約をAIに読ませると生成コードが劇的によくなります。


コードの制度自体も上がっていますし、何より自分似たコードを書いてくれるため、
コードリーディングや修正にかかる時間が格段に減りました。


そして私の場合は自分でコーディング規約を書きましたが、
このコーディング規約をAIに作らせるというのもとても面白いです。


Excel-Fun.xls*のコミュニティでMitAtoMさんが試してくださったのですが、
私のブログをブラウズさせて生成させた規約のまとめがこちらです。

Claudeが生成したコーディング規約

▼ 実際の生成規約とプロンプト(Discordスレッド)
https://discord.com/channels/1298299998760472726/1332399719023902752/1434355903435378780


びっくりするぐらい的を得ていて驚愕しました。


皆さんもコーディング規約を0から作るとなると大変ですが、
完成マクロを2~3個渡して「ここからコーディング規約を作って」とお願いすれば、
かなり簡単にひな形を作ることが出来そうです。

これを使って是非自分の分身をアシスタントにしてみてください。


なお余談ですが、自分ではなく私和風スパゲティをアシスタントにしたい場合は、
↑の記事で紹介しているこちらの規約を読ませてください。

【和風スパ】ExcelVBAコーディングガイドライン.PDF(DLリンク)

URLを渡すよりPDFを読ませた方が精度が上がるというのも面白かったです。

おまけ:情報発信文化と生成AI

さてExcelVBAと生成AIに関する雑感は書き終えましたので、
残りはブログ執筆と生成AIに関する雑感を書いて締めたいと思います。


冒頭で
「AIの台頭でブログという文化が廃れる前にこのブログを完成させたかった」
と述べました。

より大きくは「情報発信文化が廃れる前に」というのが正確でしょうか。


目覚ましい発展を遂げる生成AIによって、WEBの世界は大きく変化しています。

調べるよりAIに聞いた方が早いということも増え、
WEBでの検索数自体が大きく減りました。

AIに聞けない情報はSNSやコミュニティで聞いた方が良いということもあり、
知識がより閉じた環境で共有されるようになっている気もします。


WEB上のテキストコンテンツ自体もAIの登場により変化してきており、

  • AIのサポートによってライター達の執筆スピードが上がった
  • しかしAIが生成したものをそのまま公開した劣悪な記事も増えた
  • AIと需要を競合しないものが検索順位を上げやすくなった

あたりの変化を如実に感じます。


その中で一つ懸念していることがありまして、
「情報発信文化って廃れてしまわないのかな」
というのを勝手に心配しています。


インターネットの世界は知識や技術を共有することを是とする文化で、
みんなが知識を持ち寄って発展してきました。

しかしながら、今のAIはその文化とは少し相性が良くなく、
共有されたものを勝手に使ったビジネスが進んでいるように思います。


もちろん技術の進歩に犠牲はつきものなのでしょうが、
「その犠牲は将来AIにとってもダメージにならないの?」
というのを懸念しておりまして。


途中で述べた通り、現時点の生成AIは学習が不十分な最新の技術に弱いです。

それが克服でき、文献なく一次情報を学習できるようになればいいのですが、
もしそうならなかった場合はどうなるのかなと。


昨今の生成AIの在り方で行くと、情報発信者から見た景色は

  • 情報発信しても見てくれるのはAIだけ。人間はAIに聞いている。
  • AIは勝手に読んでいくだけ。それを人に話すときは特に引用なく自分の知識のように語る。

こんな風になってしまいました。


一応補足しておくと、この状況の是非を語りたいわけではなく、
著作権などの法律も詳しくないのでそこについても全く語れません。

ただ単純に一執筆者として、
「情報発信者がモチベーションを保つのが難しい世の中になったね」
ということを述べています。


その先、一次情報の生成までAIが全部やってくれるよう進歩するならいいのですが、
そうならないと情報発信文化の衰退と一緒に生成AIの技術力も衰退してしまうのでは?
ということを勝手に懸念しています。


この話はかの有名な「わわわIT辞典」の筆者さんもわかりやすく言語化してくださっているので、よろしければこちらの記事も読んでみてください。

「焼き畑農業」というのは言いえて妙だなと思いました。



まあそんなこんなで勝手に世の中の行く末を案じた気になっていますが、
まだAIも出たての技術ですし、この先どうなるかは見当もつきません。


個人的には、こんな便利なものはないんですから、
栄養源の情報発信者と共存できる仕組みになっていったらいいなと思っています。

その世の中に完成させた自分のサイトを持って臨みたい思い、
慌てて毎日投稿を行って記事を増やしていっている次第です。



365日投稿が終わり記事数がまとまったら、
今度はブログを卒業し、全体をWEBサイト化しようと思っています。

今より見やすいサイトを目指して頑張っていきますので、
和風スパゲティのレシピ7年目も、どうぞよろしくお願いします!



なお、本記事はExcel&VBA総合コミュニティExcel-Fun.xls*
「VBA Advent Calendar 2025」の1日目としても投稿しました!

Excel-Fun.xls*はExcel・VBAを中心に、
「楽しみながら学ぶこと」と目的としたコミュニティです!


参加者も1,300名を突破!質問相談や課題回答などで盛り上がっております!

他イベントの告知もこちらで行っておりますので、
まだの方はぜひご参加ください(´∀`)

www.limecode.jp