VBAで思い通りになんでも作れるようになるのは、人によるが概ね1年~2年はかかる。
何でも作れるとは、以下の知識を使って、壊れにくい、メンテナンス性が高いマクロを組むことである。
・多次元の動的配列を使える
・ユーザー定義関数で、省略可能引数を使いこなせる
・ユーザー定義関数で、可変の引数を使いこなせる
・ユーザー定義関数で、配列を返り値として扱える
・Enumを使いこなせる
・Typeを使える
・クラスモジュールを使える
気の遠くなるような道のりだが、ここまで出来ればほぼVBAを極めたと言ってもいいだろう。
しかし、こんなレベルを目標にするのは全くの間違いである。
なぜなら、職業プログラマーでもない人間が、メンテナンス性が高いマクロを組むことは趣味の領域であって、業務改善という意味からは逸脱しているからである。
VBAの目的は、あくまでも業務改善である。
業務改善の効果が表れるのは、以下の知識を習得したあたりから急に現れる。
・For分の理解
・Printoutステートメントを使える
・ForEachを使いこなせる
・Dir関数を使いこなせる
ここまでくれば、目に見えて業務が改善される。