Excel VBAでコーディングする場合、モジュールを上手に使い分けるのが保守性向上のポイントでもある。
Microsoft Excel Objects には次のモジュールがある
○VBEで追加/削除できないモジュール
・各シートに対応するモジュール
・ThisWorkbook
○VBEで追加/削除できるモジュール
・標準モジュール
・フォームモジュール
・クラスモジュールがある。
この使い分け、意味の違いは、とても重要なポイントである。プロジェクトにより、どう分割するかの方向性は決める必要がある。
経験則では、シートモジュールにどこまでの役割をさせるかがポイントになる。
というのも、クラスモジュール主体のオブジェクト指向的にした場合、シートは「生成しなくても存在しているもの」であり、例外的な扱いになってしまうのである。
現在携わっているプロジェクトでは、シート上の表の桁位置などはそのシートのプライベート値とし、シートを独立させている。こうすることでシート上のデータにアクセスするのは該当シートのモジュールに限定させることができ、修正時の変更範囲を限定することができている。
★代替記事作成中