これはExcelVBAに限った話ではないと思うのですが、何も考えずにある程度の規模のツールやシステムを作ろうとすると、コードの行数がどんどん膨張していってしまいます。
コードが無駄に増えすぎると、後で仕様変更があったりバグの修正をしなければならなくなったときに直すのが大変になってしまいます。
こういった問題を解決するためにいくつか方法があるのですが、例えば同じようなコードが何箇所にもあった場合、CallやFunctionを使って別プロシージャを作ってコードを共通化するといったやり方があります。
また、多くの箇所で変数を使っても、一番最初の部分で中身を入替えるだけでそれ以外の箇所全てに反映されるようにすれば、変更する箇所は最初の大元の一箇所だけで済む、というやり方もあります。
ツール・システム作成後のメンテナンスのしやすさ、労力を考慮するとなるべくコードは短く単純な方がいいわけです。
自分は今までいろんな本やサイトを見てきましたが、基本的にはコードを短くする必要性や理由については、ここまで書いてきたようなことが書いてありました。
しかし、最近になって気づいたことがあります。それはコードを短縮化するよりも「そもそも記述するコード自体をなくすことができればいいのではないか」ということです。
このことについて自分が気づいたことを書いていってみます。