VBAでは「2025年の崖」に吸い込まれるぞぉ?!
断言します!
これから学ぶのであれば、間違いなく「VBA」ではありません。
これは「ファクト」です。
「2025年の崖」って、そもそも何?
経済産業省は「DXレポート」を公表しました。ずいぶん前、2018年のお話です。
その中に出てくる、衝撃的な単語が「2025年の崖」です。
一言でいえば、「レガシーシステム」ではもうダメだよ、手遅れだよ。
これからの時代は「DX」(Digital Transformation、デジタルトランスフォーメーション)が必要だよ。
こうしたお話が「2025年の崖」です。
この「DXレポート」の中には、最近よく耳にする「AI」(Artificil Intelliegnece、人工知能)や「IoT」(Internet of Things、モノのインターネット)などの概念も登場します。
当然、RPA(Robotic Process Automation、自動化)もこの中に含まれる概念の一つになります。
こうした文脈で考察すると、今は現役バリバリの「VBA」のような「レガシー(遺産)」は、「2025年」を境に大局面を迎えることが容易に想定できます。
したがって、限られた時間と費用の中で「何を勉強すればよいか?」と悩まれる方であれば、真っ先に「VBA」は学習候補から排除してください。
いずれ「主流ではなくなるもの」を勉強するのは、はっきり言って「時間と費用の無駄」です。
「VBAによるマクロ」は、そろそろ終焉が近い?!
Excelによる「自動化」といえば、これまで「VBA」による「マクロ」というのが定番であり、常識でした。
商業出版界では、未だ「VBA」を題材とする出版がひっきりなしの状況です。
しかし、「VBAによるマクロ」の独壇場は、もう終焉が近づいているように思います。
え!
そもそも、VBAによるマクロの場合、「工数が多く」なりがち、「プロセスも複雑」になりがちです。
なぜなら、VBAは純粋な「プログラミング言語」だからです。
したがって、プログラムを書いて、理解するには、それなりの「専門的知識」が必要になります。
これは、「非IT系」の経理や監査等の担当者にとってみれば、かなり「ハードルが高い」ことだと思います。
SubとEnd Subで、プロシージャを宣言して……
達人も認めた「VBAよりも、モダンExcel」というファクト
「VBAの達人」の筆頭の一人、あの田中亨先生が主宰されるTwitterで、次のようなツイートがありました。
このツイートのリンク先をクリックすると、田中先生自身が次のようにコメントされています。
「もうね、VBAのコードをガリガリ書いて読み込む時代じゃありませんって。そっち方面が”得意中の得意”な私が言うのですから、これ間違いないです。」
「VBAの達人」がいうのだから、もう間違いありません。
これからは、「モダンExcel」で自動化するのが当たり前になります。
さあ、一緒に「モダンExcel」始めましょう!
「VBA」が「モダンExcel」に勝てない理由
VBAは、純粋にExcel上で動きます。
したがって、「モダンExcel」に比べると、VBAによるマクロは、残念ながらかなり「動作が遅い」です。
「モダンExcel」の方が、断然処理速度は早く、圧倒的です。
なぜ「モダンExcel」の方が動作が速いかといえば、それは「メモリー内分析エンジン」というこれまでのExcelにはない「モダン」な仕組みが搭載されたことで、よりデータをコンパクトにできるからです。
これに対し、「VBAによるマクロ」はExcel上で動くため、すべてのデータをExcel上で読み込む必要があり、データが大量になるほど、Excelの動作が遅くなってしまう、これは自明の理です。
したがって、データ処理速度、データ処理容量という、データ処理に関する根本的な部分で、VBAというアーキテクチャは「モダンExcel」にかなり劣るといわざるを得ません。
詳しくは、拙著「モダンExcel入門」、第2章、PART1「ピボットテーブルよりもパワフルに分析できる」109ページ~をご参照ください。
「VBAによるマクロ」では「104万行の壁」を乗り越えられない!
さらに、VBAは純粋にExcel上で動くが故、いわゆる「104万行の壁」を乗り越えることが、そもそもできません。
「財務会計システム」からCSVデータを作成する場合、そのデータ数が104万行を超えることはないかもしれませんが、これが「販売データ」であれば、日に104万行を超えるデータ数ということは結構ざらにあります。
こうしたことは、コンビニの物流センターなどでは、当たり前のことです。
筆者も、監査やコンサルの現場で、幾度となく経験済みです。
そもそも、「ビッグデータ」を対象にすることは、純粋にExcel上で動くVBAではできないのです。
だから、これまではAccessなどのデータベースソフトを駆使しつつ、「104万行の壁」を乗り越えてきました。
しかし、「モダンExcel」であれば、データモデルにすることで、Excelの中で「104万行の壁」を簡単に乗り越えることができます。
当方は、Excelで10億行(10行ではない!)のデータ取り込みを経験済みだ!
以上の論点を踏まえると、今はまだ自動化といえばVBAが主流ですが、早晩、VBAは自動化の座を追われることは目に見えています。
では、VBAに変わり、なにが「自動化の座」を得るのか?
筆者は、「モダンExcel」とその先にある「Power BI」をはじめとした「Power Platform」が、「Excelにおける自動化」「ノーコードによる自動化」「ローコードによる自動化」の主流になると考えます。
そして、こうした論点を理解するには、「モダンExcel」の二大ツールである、データクレンジングするために用いる「Power Query(パワークエリ)」と、データモデルにして計算するための「Power Pivot for Excel(パワーピボット)」を「一体理解」する必要があります。
どちらか一方ではなく、「一体理解」することが、「モダンExcel」の真の理解に必要だからです。
あくまで個人的意見です
現場の声
「ノーコード」「ローコード」の勢いは増すばかり。
現場でも、こうした意見が出始めています。
これまで、Excelで「自動化」と言えば、「VBA」一択でした。
それが今では、「Power Query」「Power Pivot for Excel」「PAD(Power Automate Desktop)」など、誰でも、比較的簡単に、自動化できる「ノーコード」「ローコード」ツールが色々ラインナップしています。
もちろん「VBA」でもこれまで通り自動化できます。
しかし、これから「自動化」と言えば、やはり「ノーコード」「ローコード」でしょう!
なぜって?
それは、「ノーコード」「ローコード」の方が、はるかに簡単で、現実的だからです。
会計事務所でも「ノーコード」「ローコード」のツールは、広がり始めているようです。
「VBAより簡単」、まさにそれ!
「ノーコード」「ローコード」は、プログラミングを「中の人」がよしなに処理してくれるので、VBAより簡単に「自動化」「効率化」できるという点が良いと思います。
「PAD」とは、「Power Automate Desktop」(※)の略称で、マイクロソフトが強く推進する「自動化」「効率化」のための「ノーコード」「ローコード」ツールです。
(※)2021年10月、「Power Automate for Desktop」に名称変更
いずれのツイートでも、「ノーコードやローコードで、VBAより簡単に自動化できる! 効率化できる!」と指摘されているのは、大変興味深いですね。
Amazonでも、VBAへの風当たりがアゲインストです。
こちらは、某新刊に対するAmazonレビューですが、かなり辛辣。
(注)著書名などの掲載は、控えさせていただきます。
このレビューの主張を一言でまとめると「Power Query などモダンなツールがあるというのに、なぜ今、VBAのような古臭いレガシーツールを使って大量データを処理するのか、意味が分からない」ということになるでしょう。
いずれも「ファクト」です。
プロも、言っていますよ!
Power Platformer、MVPの「ゆーご」さんもつぶやいていますよ!
ちなみに「MVP」とは、Microsoft Most Valuable Professionalの略称、「自身の知識を熱意をもってコミュニティと共有するテクノロジーの専門家」のことです。
Excel界隈では、あの「おさとエクセル」の長内孝平さんもMVPですね。
このMVPは、一言でいえば、当該製品のプロフェッショナル!
そのMVPのゆーごさんが、こう指摘しています。
やばいよ、やばいよ!
「2025年の崖」に吸い込まれちゃううよ~
「今、学ぶべきは?」という質問への解答は、立場の違いによりそれぞれだと思いますが、一つの考え方として次の記事も参考にしてみてください。
旧「Visual Basic」がいまだに人気の“謎”
Excelは「モダンExcel」へ、シフトチェンジしました。
さて「VBA」は、どうでしょう?
20年以上前から進化せず生き続ける、シーラカンスのような「VBA」が、いまだ人気というのですからね。
確かに、「謎」です。不思議です。
「VBA」がまったくなくなるかといえば、そうではないと思います。
レガシーシステムのメンテナンスなど、「VBA」は細々と生き続けるとは思いますが……。
PPMで考えてみよう!
PPM(プロダクト・ポートフォリオ・マネジメント、Product Portfolio Management)は、あのボストンコンサルティンググループ(通称「ボスコン」、BCG)が開発した、有名な「戦略フレームワーク」です。
問題児 ➡ 将来性(成長率)は高いが、まだまだ強み(占有率)を生かし切れずにいる
大きく育てるには、積極的な「投資」が必要
花形(スター)➡ 成長率も占有率(シェア)も高く、投資により更なる「成長」が見込まれる
今後期待の、まさに「花形」「スター」的存在
金のなる木 ➡ 高いシェアを有し、「安定成長」し続ける事業領域
ここで生み出す「キャッシュ」を「問題児」や「花形」に振り向ける
負け犬 ➡ 成長率もシェアも低く、利益も見込めない
投資をやめざるを得ず、当該「負け犬」への投資分を、他の事業領域に割り振る
この「PPM」を図示すると、次のようになります。社会人であれば、一度は見たことがある図だと思います。
縦軸に「成長率」、平たく言えば「将来性」、今後伸びるかな~、という軸。
横軸に「占有率」、いわゆる「シェア」、言い換えれば「強味」という軸。
この有名な「PPM」に、「モダンExcel」と「VBA」を重ねてみると、こうなります。
「VBA」は、これまでのように「花形」「金のなる木」に居続けるというわけにはいきません。
これは断言できます!
なぜなら、「モダンExcel」、そしてその先にある「Power Platform」、Excel界隈では「Officeスクリプト」など、新たなアーキテクチャが続々登場しており、「VBA」の主要任務の一つである「自動化」に関して、その相対的地位はめっきり低くなったからです。
こうした文脈で考えると、「VBA」がこれからも「第一線」に居続けることは、さすがにないでしょう。
That’s right!!!
本件に関して、海外でも同様の反応があります。
(和訳)
VBAを使用してExcelの自動化ソリューションを構築するのが、どれほど楽しいかを忘れていたぜ。トランザクションの分類を容易にするため、銀行のCSV抽出を処理するスクリプトを1時間もかけてやったぜ。すげー楽しかったぜ:-)
That’s right!!!
1行目「 VBAがどれほど楽しいか、忘れていたぜ。」
この一文が、端的に「VBAの終焉」を表現しています。
一見すると、この人物は「VBA」を楽しんでいるようですが、行間をよく読んてみて欲しいと思います。
この人の場合、それまでと違い、「VBA」を活用する頻度がかなり低くなっていることを示しています。
だから、たまに触ってみて「すげー楽しかったぜ、VBA最高!」となっているのです。
ちなみに、このMattさんも「MVP」。
DAXやパワークエリに詳しい人物です。
要するに、VBAを使わずに、「モダンExcel」的なことで代替できる!
だから、 Mattさんは、たまにVBAを触ってみて「すげー楽しかったぜ、VBA最高!」と言っているわけです。
もう、VBAが主役でいる時間はそれほど残されていない、こうした証といえるでしょう。
見るべきは「1次情報」です!
「MVP」の話題が立て続けに出たので、ここで一言。
当方は、「MVP」の方の発言は、国内・海外分け隔てなく耳を傾けます。
しかしながら、大変申し訳ないですが、MVP以外の意見は目にしても、スルーすることがほとんどです。
なぜなら、「1次情報」以外の場合、その発言に「信憑性」がないからです。
「2次情報」「3次情報」は、そもそも「正確性」が担保されないからです。
一言でいえば、ネットにあふれている「1次情報」以外の「2次情報」「3次情報」は大概間違っている。
だから、MVP以外の意見は目にしても、それら「2次情報」「3次情報」は原則スルーします。
どんなに売れているExcel本でも、MVPの方が書かれたものでない場合、マイクロソフトが提供する「1次情報」と見比べながら、記述内容の真偽を確かめるようにしています。
日本では、部数が売れているものでも「1次情報」と違う、間違った記述のExcel本が結構あります。
たとえば、『Excelの「重複の削除」という機能は、使えない』という指摘を散見しますが、はっきり言います、これも「間違い」です。
そもそも使えない機能を、マイクロソフトともあろうビッグネームが、堂々とGA(一般公開)するはずがないのですよ。
マイクロソフトの「MSLearn」「Docs」などの「1次情報」と見比べれば、その真偽を確かめることができます。
ババ抜きの「ババ」
先ほども申しあげたように、「レガシーシステムのメンテナンス業務」などで、細々と「VBA」が残り続けることはあるでしょう。
しかし、いずれそうしたレガシーシステムも、「モダンExcel」のようなアーキテクチャに代替される時期が早晩必ず来ます。
なぜなら、「ノーコード」「ローコード」は、「簡単」で「便利」だからです。
パソコン黎明期(PC9800の時代!)に流行った「Basic」というプログラミング言語などを引き合いに出すまでもなく、時代とともに新たなアーキテクチャが現れ、旧来のそれはお払い箱になる、これがモノゴトの道理なのです。
モダンExcel > VBA
こうした「優位性の構図」が、現前にあるのです。
これも「ファクト」なのです。
で、実際に「ノーコード」「ローコード」って、どうなの?
上記のように、国内外のMVPの方々は、「モダンExcel」に代表される「ノーコード」「ローコード」が今後ますます隆盛を極めていくと考えています。
では、実際のところ、現場ではどのように考えられているのでしょう?
ちょっと気になったので、ツイートを見てみました。
代表的な意見が、これです。
この方は「Power Apps」という、マイクロソフトが推進する「Power Platform」の一つを使われているようです。これも「モダンExcel」同様に「ローコード」ツールの一つです。
ツイートにもあるように、「ローコード」ツールを使うことで、なんと作業工数が「6分の1」になるというのですから驚きです!
勘違いしてほしくないのですが、これはマイクロソフト製品に限ったことではありません。
「ノーコード」「ローコード」の製品であれば、キントーンだろうが、セールスフォースだろうが、どれも等しく、作業工数の削減などに大いに貢献すると思います。
そしてもう一つ。
これに続くツイートをもう一つ。
いずれも「ファクト」です。
これらのツイート主のHiroさんは、Power Platform中心に、ノーコード/ローコード系のブログも書かれているMVP。
MoreBeerMorePower (hatenablog.com)
こうした「ファクト」に目もくれず、「そんなわけない、VBAが最高だ!」と言い続けている方も実際にいますが、恐らくご自身が「従来型のエンジニア」の思考回路から脱却できず、若しくは「コーディング命」のエンジニアに近い考えをお持ちなのでしょうね。
ここで、コーディングとは、プログラムを書くことを言います。
「ユーザー」目線で考えてみれば、「ノーコード」「ローコード」という思考回路は、「簡単」「便利」ということもあり、間違いなくこれからメインストリームになっていくだろうし、その勢いは増すばかりだと思います。
これも「ファクト」です。
小学生でもわかる「ローコード」「ノーコード」
こうした「ユーザー目線」のご指摘は、文部科学省が導入した「プログラミング」という正規カリキュラムとも整合性が取れているお話しです。
下図は、文科省の手引きに出てくる「ノーコード」「ローコード」によるプログラムの一例です。
1つの作業ずつに分けて、色も使いながら、小学生でも理解できるようなプログラミングになっているのがよくわかりますね。
左右の図は、どちらも同じ「正方形をかく」というプログラムになります。
ただし、右図の方が簡略化され、スッキリしています。
これは、プログラミングでよく使う「ループ」という反復処理を使ってプログラミングしているからです。
黄色で表しているのが、その「ループ」です。
この黄色の中に、青色の「長さ100進む」「左に120度曲がる」という二つの作業の指示を入れ子にして、黄色の指示で「3回繰り返す」として「ループ」処理しているのです。
こうした右図のような表現に、言い換えれば「プログラミング」することで、左図に比較し、コードを「簡略」もでき、何より処理速度「パフォーマンス」をあげることにも貢献できると思います。
これは「モダンExcel」でも、同じです。
単に「ノーコード」「ローコード」の機能を知るだけではなく、その基本的な思考回路、ここでは「ループ」という「反復処理」のような論点を理解できるようになると、パフォーマンスを上げたり、より高度な処理ができるようになる、それが「ノーコード」「ローコード」なのです。
したがって、「ノーコード」「ローコード」であっても、最低限の「プログラミングの基本原理」、つまり「正しい型」は理解しておくべきなのです。
なぜなら、「正しい型」を知らずに、「モダンExcel」のような「ノーコード」「ローコード」ツールを使うと、「パフォーマンス」に影響が生じたり、一見すると処理が行われているように見えても、実は間違った「処理」になっていることもあるからです。
これも「ファクト」です。
ここで一言!
データ分析者たるもの、「ファクト」をもって「意思決定」することが重要です。
「想像」「寝言」「フェイク」、こうしたことで「判断」「発言」することは絶対に行ってはいけません。
ましてや「1次情報」と異なる表現で「公言」することは、「影響力を持つ人」ほど厳に慎まねばなりません。
「間違った情報」で読者を惑わせてはいけません。
「いい加減な情報」を信じた読者がどれほどの迷惑を被ることになるか、想像してみてください。
影響力のある方の「情報発信」は、基本に忠実に、「ファクト」に基づき行うべきです。
「正しいモダンExcel」に必要な「正しい型」の基本的思考回路については、下記をご参照ください。
ババ抜きの「ババ」
上記のように、これからは「ノーコード」「ローコード」のツールが主流になって「くる」はずです。
もしかすると、既に「ノーコード」「ローコード」のツールが主流になって「いる」のかもしれません。
経済産業省が示した「2025年の崖」という「ファクト」や、MVPと言われる「プロフェッショナルの意見」なども踏まえれば、もう「VBA」の将来性は、そんなに明るくない。
システム担当者にとって「VBA」という存在は、下手をすると、ババ抜きの「ババ」になってしまう可能性すらある。
そう言えば、きみ、VBAできたよね?
ほら、A君、退職したでしょ。
だから、VBA分かる人、いなくなっちゃったんだよね。
レガシーシステム、古臭いVBAのお守、お願いできるかな?
お願いできるよね!
僕さ、「モダンExcel」なら分かるんだけど。
VBAなんて古くさい技術、分からないし。
じゃ、あと、よろしくね!
え?
は……い。
わかりました……。
「花形」業務ではなく、しぶしぶ、「日陰」業務を担わされる、なんて時代がすぐそこにあるかも……。
将来性のない「VBA」のような技術習得に、「限られた時間と費用」をかけるという選択は得策とは言えません。
これは「ファクト」を見れば、もう明白な事実なのです。
そろそろ「ファクト」に目を向けないと、大変なことに巻き込まれますよ!
こうしたことが、経産省が公表した本稿冒頭の「2025年の崖」の骨子です。
くわばら、くわばら
下記リンクの「ファクト」も、ご参照ください。
以上、一言で整理すると、こうなります。
これからは、「モダンExcel」の「一体理解」に基づく「自動化」の仕組みが必要です。
現場からは、以上です!
「モダンExcel研究所」を楽しむ際の【注意事項】
コンテンツコピー、スクレイピングなど【厳禁】 ☚【検知ツール設置済】☚悪質な場合【法的措置】を講じます
(過負荷によるサーバー障害が生じた経験上、ご協力お願いいたします!)
モダンExcel研究所
フォローお待ちしてます!