ExcelのVBAで処理をするなら、シート上にワークシート関数を記述しない方がいい。もう少し言うなら、VBAを使うなら、中途半端にExcelの機能と併用するのではなく、極力VBAで記載してしまった方がいい。

どこに何を記述するのか、明確に分けているならよいのだが、ワークシート関数でできることは限られるうえ、VBAでもできるため、一つのことをやるのに複数のやり方ができてしまう。それを単純化するのだ。それによりメンテナンス時に「VBAのコードだけ追いかければ済む」ということになり、ミスが減る。

VBなどでも、何をどのモジュールに書くのかを揃えておかないと、メンテナンスのたびに処理を追いかけ直し、と効率が悪い上に面倒くさく、ミスも増えてしまう。
これはJavaなどのオブジェクト指向言語でも同様で、オブジェクトの粒度やメソッドの実装方法など、決めておかないと再利用もできない、メンテナンスも 困難なオブジェクトができてくる。オブジェクト指向言語を使ったからといっても、きちんとオブジェクト指向を理解していなければメンテナンス性の高いシス テムはできないようだ。

なお、このようなことは通常仕様書上でどうしろ」という指示はない
そのため、プロジェクトで方向性を決めるか、プログラムを束ねるチーフが決めるか、とにかく能動的に決めなければ決まらない。また、作り込みのレビューも実施するべきだろう。
絶対にやってはいけないのが、エンジニア各人に任せること。ほぼ100%の割合で自己流のコーディングをするものだ。

品質を確保するためには、そのような工夫は必要である。