Microsoftのアプリケーションを使っていると、ほぼ高確率で出てくるVBAですが、中には使うのはやめとけという声があるのも事実です。しかし、やめとけと言われたから何も考えずに使わないのは腑に落ちませんよね。そこでこの記事では、VBAがなぜやめとけと言われているのかその理由を紹介しています。なお、その理由を加味しても使おうとしている人には、この記事で紹介している適切なエラー処理の方法をご覧いただくことをおすすめします。
VBAはやめとけと言われる理由の勘違い
VBAをやめとけと言う人の中には、一部勘違いをしていることがあります。それはVBAのバージョンが変わると、特定の関数やコードが使えなくなるという点です。これは大きな間違いで、2026年現在市場にあるofficeに搭載されているVBAはバージョンが7.1で統一されています。したがって、新しいバージョンのofficeに変更しても、VBAのバージョンが同じなら以前使っていたコードや関数を使うことは可能です。VBAをあまり使えていない人にも分かりやすく説明すると、アプリケーションの中にもう一つ別のアプリケーションが入っているイメージです。そのため中に入っているアプリケーションの仕様変更が無い限り、コードや関数が使えなくなる心配はありません。
ライブラリーのバージョンについて
VBAのバージョンと同じくライブラリーも変更されなければ、互換性が無くなることはないので、やめとけと言うほど神経質になることはありません。理由はライブラリーのバージョンもフリーで使えるofficeには16.0で同じものが使われているからです。確かに過去には違うバージョンのライブラリーが使われていたことで、互換性を心配する声もありましたが、基本構造は同じです。したがって、大きく仕様変更されることなく使えるので、VBAはやめとけと言われたから変えようとしている人は再検討したほうがいいでしょう。
使えなくなってしまう事例とは
本体ソフトのバージョンが変わっても、VBAやライブラリのバージョンが変わらなければ、コードや関数に互換性はありますが、本体ソフトの動作が変わると使えなくなる可能性はあります。例えばファイルを開くという命令は本体ソフト側で行っていますが、仮に本体ソフトのファイルバージョンが変わってしまった場合は使えなくなる可能性があります。理由はVBAでファイルを開くという命令はソフトに対して行うことができますが、その本体ソフトはVBAの命令を受けられるものの、ファイルを開くのは本体ソフトの仕様に影響されるからです。つまり、命令は受けられるけれど、実行はできないという形になってしまい、これがVBAはやめとけと言われる原因になっています。
OSのbit問題でやめとけと言われる理由
VBAはやめとけ言われる理由に、OSbit問題が関係している場合があります。特に2026年現在はWindows10のサポートが終了し、本格的にWindows11を導入する人も多かったと思います。そこで問題となってくるのがOSのビットレートの問題で、Windows11には64bit版が無いため、32bitのみ動作が保証されているバージョンのVBAはWindows11では動作しません。動かすには64bitでも動くVBAにアップデートする必要があり、新しいVBAに対応していないアプリケーションではコードや関数が使えなくなる場合があります。この様な理由からVBAを使うのはやめとけという説が広まっています。
個人運用と会社運用では話が違う説
VBAを使うのはやめとけと言われる理由は、主に会社など大人数でソフトを使う場合に限定されます。理由は大人数で使う場合は使っているマクロやコードを統一する必要があるためで、社内環境を変えると今まで使えていたものが使えなくなってパニックになるケースが考えられるからです。対して個人運用の場合は、大人数で使っているほど使用環境の変化に敏感ではないので、最新バージョンにしても問題はありません。さらに自作PCを組んでいる個人勢の方は、要求スペックさえ満たしていればOSを換装するだけで64bitにできるため、パソコン買い換え予定の人は動作環境を確認してから購入計画をたてましょう。
使用目的によって違うやめとけ論争
仮にVBAを単純な作業に利用する場合は、やめとけと言われる理由はないと思います。対してVBAは複雑な動作が苦手なので、やめとけと言われやすいです。特にVBAはシングルスレッドと呼ばれるタスクの処理方法をしており、分かりやすく説明すると駅の改札口と同じように、1人ずつ処理しています。そのため、一気に多くの計算をしようとすると時間が掛かってしまう欠点があります。したがって、1万以上のデータを扱う場合はVBAの使用をやめとけという声に従ったほうがいいでしょう。
代替案の存在がやめとけ論争をさらに加熱
VBAはやめとけと言われる理由は、代替案が存在するからです。特にVBAをエクセルで使うときは、PowerAutomateのほうが早く、複雑な処理もできるためおすすめです。また、ある程度コードに理解のある人はpythonを使う方法もおすすめで、VBAユーザーに向けたpythonの学術書まで発売されているほどです。インターネットにもエラーの解決方法が掲載されているため、独学で習得しやすく会社など団体で使う場合もVBAよりかpythonを導入している現場が多い傾向です。
やめとけ論争を終息させるエラー解決法と回避法
VBAを使っていて意味の分からないエラーが出ると、やっぱりやめとけという声は正しかったと感じる人もいることでしょう。しかし、よく見るエラーだけでも解決方法を知っておけばVBAのほうが便利だと感じるかもしれません。そんなエラーの中でも特に覚えておきたいのが、「互換性のあるActiveXコンポーネントは、VisualBasicの実行可能ファイルまたは DLLでなければなりません」というエラーです。このエラーは分かりやすく解説すると、互換性があるはずのファイルにアクセスしようとしたら、それを動かすためのファイルが見つからないというエラーです。
解決する方法はVisualBasicで実行するはずのファイルを読み込み、保存しなおして再度実行してください。要するにファイルを実行するための環境がパソコン内に存在しないことがこのエラーの原因なので、互換性のあるアプリでファイルの保存形式を書き換えて実行すれば実行できるようになるという解決方法です。また、今後は新しいバージョンのVisualBasicで実行ファイルを保存すれば、エラーを回避することができます。
まとめ
VBAはやめとけと言われる理由は勘違いからくるものも含まれていますが、使用環境によってはやめとけという声が正しい場合もあります。また、よく出るエラーの解決方法や回避方法を覚えておけばVBAが使いやすいと感じる人も多いので、自分の環境に合わせたものを使えるようにしておきましょう。ですが、pythonなどの代替案を使えるようになることで、できる仕事も多くなるため、できればVBAの使用はやめておいたほうが良いというのが筆者の意見です。



