本日は私が考えるVBAの効率が良い方法を語っていきます。
ここでいきなり結論
やりたい処理を明確にしてVBAを学習しろ
ということです。
やりたい処理が無いと、実務で頻出の知識も、そうじゃない知識も自分の中で一緒くたになって、メリハリがきいた学習ができなくなるんですよね。
例えばfor文を初めて学習する状況を考えると、
「フォルダ内のエクセルファイルを一括印刷する作業を自動化したい」と目的を持って学習している人なら、
for文で大量の作業が終わるのかな、自分の作業と関係ありそうだ
と考えられるわけです。(初学者がこんなに具体的に考えられるのはセンス抜群ですが)
ところが目的を持っていない人だと、
繰り返して何が楽しいんだ?
という感想になるわけです。
メッセージボックスを学習しようものなら
文字列を表示して何が楽しいんだよ
という感想になります。
というか、基本的にVBAは一つ一つの処理は何に役に立つのか、分かりにくいことが多いです。
特に目的を持っていない場合は、書籍をいくら読み進めても自分に関係がある説明に思えず、
○○して何が楽しいんだよ
の無限ループになります。
まさに頭の中は
Dim i As integer
for i = 1 to ∞
MsgBox"何が楽しいんだよ"
next
という状態です。
目標を持って学習するというのは、もはやVBAだけではなく、人生の極意だと思うんです。
イチロー選手は、小学校の卒業文集でプロになるための具体的な道筋を語ったと言います。
(高校は○○高校に入り、高3の甲子園ではベスト〇〇以上になり、ドラフトで何位に指名される…という内容)
イチロー選手が、俺は将来ビッグになると目標を立てて野球をやってても、プロにはなれなかったはずです。
同じように、VBAを出来るようになる
というだけじゃ、大成できません。