VBAを覚えると、なんでもかんでもVBAで処理をしたくなってくる。
このVBA病は、初級者から中級者にありがちだ。
この状態になると一回しか発生しない作業や、関数で事足りるさぎょうまでVBAで自動化したがる。
マクロの作成には、通常手作業の倍くらいの時間がかかる。そして、2回目の処理からは開発にかかった時間を回収していくというものだ。
したがって、1回しか発生しない作業にはマクロを作成するのは割に合わない。
マクロを組む練習だとか別の目的がある場合は別として、マクロを作ることが有効かどうかは冷静に判断する必要がある。
そこで、関数だけで良いのか、マクロを作成すべきか、わたし個人では以下の線引きをしている。
・関数を最大限駆使してもダメなとき
・入れ子が3つ以上になるとき
である。
基本的には関数で完結することが望ましい。
何故なら、VBAを使える人間より、関数を使える人間の方が多いからだ。
急な人事異動で引き継ぎが必要になっても、後任者が混乱しにくい。