トップページ > コンテンツ > プログラミング入門 > Excel VBA入門 > 標準モジュール、クラスモジュール、ユーザーフォームの違い

イメージは以下の感じ。

オブジェクトモジュール シートモジュール(Sheet1等) ユーザ操作でイベントキックした時の受け皿。ここでイベントをキャッチして細かい処理は標準モジュールに投げるのがスタンダードだと思う。
ちなみに、このモジュールから標準モジュールのプロシージャを参照できるが、標準モジュールからこのモジュールのプロシージャは参照できなかったと思う。
ブックモジュール(Thisworkbook) シートモジュールとほぼ同等だが、このモジュールはシート単位でなくブックに紐づくモジュール。
よく使うのはブック開いた後/閉じる前に実行する処理を記述するケース。
フォームモジュール Excelのコントロールフォームを構成するモジュール。
クラスモジュール オブジェクト指向に向けて、オブジェクト生成などを行うことができる。
標準モジュール 標準モジュール 新たに挿入することで、ブックに紐づくモジュール。あちらこちらのモジュールから共有されるイメージ。Utilityクラスなどとして使う。


流れを図示するとこんな感じがスタンダードっぽい。
途中の経路は飛ばすこともまま有?

ユーザ操作->シートモジュールまたはブックモジュール->標準モジュール<->クラスモジュール

※標準モジュールとクラスモジュールは、標準モジュールがクラスモジュールを呼び出し、オブジェクトを受け取るようなイメージ。
最終更新:2015年12月13日 00:30