Excel VBAでコーディングする場合、モジュールを上手に使い分けるのが保守性向上のポイントでもある。

Microsoft Excel Objects には次のモジュールがある

○VBEで追加/削除できないモジュール

  ・各シートに対応するモジュール

  ・ThisWorkbook

○VBEで追加/削除できるモジュール

  ・標準モジュール

  ・フォームモジュール

  ・クラスモジュールがある。


この使い分け、意味の違いは、とても重要なポイントである。プロジェクトにより、どう分割するかの方向性は決める必要がある。


経験則では、シートモジュールにどこまでの役割をさせるかがポイントになる。

というのも、クラスモジュール主体のオブジェクト指向的にした場合、シートは「生成しなくても存在しているもの」であり、例外的な扱いになってしまうのである。


現在携わっているプロジェクトでは、シート上の表の桁位置などはそのシートのプライベート値とし、シートを独立させている。こうすることでシート上のデータにアクセスするのは該当シートのモジュールに限定させることができ、修正時の変更範囲を限定することができている。


★代替記事作成中