Excel VBAとは? 何ができるかと将来性を解説
Excel VBA とは?
Excel に付いている "自動化用のプログラム"
Excel VBAは、Excel をインストールすると一緒にインストールされる自動化用のプログラムです。
このプログラムは、人の作業をプログラムにして、自動化させることができます。
例えば、人力で100社分の請求書を作成しようとしたら1日はかかるでしょう。
しかし、Excel VBA を使用すれば、請求書の作成は1時間もかからずに終わります。
Excelの "マクロ" と "VBA" の違い
マクロは、自動化するための機能です。"マクロの記録" は聞いたことがあるのではないでしょうか。
VBA は、Microsoft Office のアプリケーション及びテキストファイル等を操作するためのプログラミング言語です。
VBA はさらに分類でき、Excel VBA、Word VBA、Access VBA があります。
各 VBA は基本的な構文は同じですが、一部、使用できる関数が異なります。
Excel VBA ができること
ルーチン作業の自動化(コピペ、整形、印刷)
ルーチン作業(日々の業務で繰り返し行われる、手順や内容が決まっている定型的な仕事)を自動化できます。
例えば、送られてきたデータを加工 → 別のフォーマットに入力 → PDFファイルに出力 → メールで送る、といった一連の作業を Excel VBA なら数秒で完結できます。
プログラムが実用化されると、1日かかっていた作業が1時間で終わることも珍しくありません。
閑散期にプログラムを作成し、繁忙期に使用すると業務の平準化が可能です。
Excelファイルの操作
Excel VBAでは、ExcelファイルやCSVファイルの操作が可能です。
具体的には、Excel のほとんどの操作を自動化できます。
例えば、セルにデータを入力したり、条件付き書式や図形、グラフ、シートの追加・削除が可能です。
また、Excelファイルを開いてデータを変更して保存して閉じることもできます。
ファイルの操作
ファイルのコピー、移動、削除、ファイル名の変更が可能です。
また、フォルダ内にある全てのファイル名を取得したり、ファイルサイズを取得できます。
Microsoft Office と連携
Excel 以外の Microsoft Office アプリケーションと連携できます。
例えば、Outlook(classic)メールの下書き・送信が可能です。
また、Excel VBA から Access のテーブルやクエリを操作するといった連携も行えます。
Excel VBA の将来性
Excel VBAは "オワコン" か?
結論から言うと、Excel VBA は「オワコン」とは言い切れません。
Python や C# などのプログラミング言語は登場以降も現在進行形で進化していますが、これに対し Excel VBA の技術的な進歩は 2010 年頃からほとんど更新されなくなり、現在は保守的な状態です。
Microsoft 社が今は C# や TypeScript など、別の技術に注力しているためだと考えられます。
2025年12月現在、最も使用されている表計算ソフトは、Microsoft Excel で、シェアは 8割を超えているようです(Google AIより)。 このため、多くの企業のPCには Excel がインストールされており、Excel VBA が役に立つ場面が多くあります。 また、表計算以外の作業でも役立つ場面があります。 例えば、筆者が勤務していた企業では、ファイル保管サーバーへアップロードするファイルに「ファイルサイズ」、「ファイル名の長さ」、「ファイル形式」などの制限があり、そのチェックを Excel VBA で自動化していました。 決して、Excel VBAの解説サイトによる「ポジショントーク」ではありません(笑)。
Excel VBAのこれからの有用性
今後、Excel VBA が大きく発展することはないと思われますが、突然廃れることも考えにくいです。
Excel がシェアを多少落とすことはあっても、表計算ソフトの主流であり続けると考えられます。
そのため、Excel VBA を学んで損することは決してありません。
