略してVBA(ブイビーエー)

VBAはMicrosoft Excelにバンドルされている(無償でついてくる)開発言語です。
VB(ビジュアルベーシック)の流れを組み、
非常に強力で本格的な言語仕様となっています。。

BASIC ベイシック

ビルゲイツがINTELチップ向けにBASICインタプリタ(対話的実行環境)を開発し、 コンピュータメーカがROM(リードオンリーメモリ)に焼き付けて、
8bitマイコンに組み込むことで、世界的に大流行した言語です。
日本ではNECのPC8001がベストセラーとなりました。
BASICは初心者でも簡単にプログラミングができる言語でした。

VisualBasic(ビジュアルベーシック) 略してVB(ブイビー)

マイコンがPC(パーソナルコンピュータ)になり、
OSがMS-DOSからWindowsになるのに伴って、
GUI(ジーユーアイ)グラフィカルユーザーインターフェース
のアプリケーションを開発する言語としてBASICから発展しました。

簡単なマウス操作でウィンドウ画面を設計することができて、
VBも非常に人気があり、広まりました。
特に日本では世界の他の国に比べて言語製品が特に売れると、
マイクロソフト社が不思議に思うほどでした。
他の国では主にソフト開発会社が言語製品を購入していたのですが、
日本ではエンドユーザー会社も言語製品を買っていたのです。
それだけ日本では自社でアプリケーションを作るという、
職人気質が強いのでしょう。

Java(ジャバ)

やがてインターネットの時代となり、当時インターネット
先端企業であった、サンマイクロシステムズ社が、
オープンなプログラミング言語として、Java(ジャバ)を
設計・開発しました
Javaは、Write once, run anywhere という思想を持っていて、
Javaで開発したアプリケーションが、あらゆるプラットホーム
(Windows, Mac, Unix, Linuxなど)で動くという、
オープン思想に基づいたものでした。

.NET(ドットネット)

Javaに対抗してマイクロソフトは.NETという技術アーキテクチャ
を発表しました。
こちらはJavaと対象的に、1つのプラットホーム(Windows)で
いろいろな言語(C#, VB, JScriptなど)のアプリケーションが動く
というマイクロソフトらしいWIndows独占を狙ったものでした。

Javaと.NETはそれぞれのユーザを確保し、それらで開発される
システムも増えていきました。どちらもオブジェクト指向をベースと
した厳格で手続きの多い言語仕様へと進んだため、
それを嫌ってライトな開発を行いたい人がJavaではなくPHPへ。
そして.NETの主流はC#になっていったこともあり、.NETを敬遠
した人を救うために、EXCELに.NET以前の本格的なVBがバンドルされ、
現在でもEXCEL VBAで開発する人が多く存在します。

EXCEL VBAの欠点

言語仕様としてはほぼ完璧な機能を持っていますが、
マイクロフト社の戦略として、完全なアプリケーションを
わざと作れなくしています。
・実行するにはEXCELが必要であり、実行時にEXCELの画面を消せない。
・コンパイルが出来ないためプログラムソースを隠せない。
・日曜大工で作ったシステムがいつのまにか重要な業務システムに
 なってしまい、プログラムの保守が問題となる。

EXCEL VBAの長所

・EXCELを持っていれば開発できる。
・初心者がとっつきやすい。
・EXCELの表(Sheet)とうまく組み合わせると便利。
・小規模な部門システムとしては有効な言語。