アリスです。
プログラミング言語に様々なものがありますが、VBAというプログラミング言語はできそこないとしかいえないヒドイ言語です。
VBAはマイクロソフトが開発したプログラミング言語で、ExcelやWordのマクロで動作するプログラミング言語です。
つまり、マクロを作るには必ずVBAでプログラミングしなければならないのです。
VBAができそこないのプログラミング言語の理由
実行時エラーが常に起きるからです。実行時エラーというのは、プログラムを実行したときに出るエラーです。
プログラムの文法エラーがあるとそもそも実行できないのですが、文法以外のエラーは全て実行時エラーでしかわかりません。
この実行時エラーが曲者で、出力されても意味不明なのです。
もちろんすべてとは言いません。中には意味がすぐにわかるものもあります。
しかしながら、そういった簡単なエラーではまることはプロ(経験8年以上)ならほとんどありません。どちらかというとまだ見習いプログラマのためのエラーですね。
VBAはプロでもすぐにわからない実行時エラーが頻出します。
例えば、「オブジェクトが必要です。」や「インデックスが有効範囲にありません。」などといったエラーです。
インデックスが有効範囲にないとかであれば、配列の要素数をオーバしてしまったとか想像できますが、全く違うエラーだったりします。
メッセージと実際のエラーが異なることほどやっかいなことはありません。
実行時エラー以外の問題
VBAでの開発効率は実行時エラーのせいで恐ろしいくらいに下がります。
ExcelやWordのマクロはVBA以外では作れません。
そのため、仕方なしに触らなければならないことがありますが、本当に効率が悪いです。
同じマイクロソフトが作ったC#なら数分で実装できるようなことが、VBAは1時間かかるとかザラです。
その理由は実行時エラーのためです。エラーの理由を探すのにかなり苦労します。
実行時エラー以外の問題は、そんなにありません。ただ、時代遅れの古いプログラミング言語なので、大した機能はありません。
フォームもショボいデザインですし。パーツの数もしれていますし。
ただ、ExcelとWordがある限りは、まだまだVBAは現役なのでしょうね。