Excel VBA 入門講座

第5章 4.プロシージャについて Excel VBA 入門講座 第5章 6.変数の有効範囲
ステートメントステートメント

Privateステートメントで宣言されたSubプロシージャとFunctionプロシージャは プロシージャを記述したモジュール内のほかのプロシージャからのみ参照できます。
これに対して、Publicステートメントで宣言されたSubプロシージャとFunctionプロシージャは すべてのモジュールのすべてのプロシージャから参照できます。
図ではModule1のMainProよりModule2のPro1とFunc1を参照しようとしていますが、 Pro1とFunc1はPrivateなのでエラーとなります。

ステートメント図

ステートメントを指定しないと自動的にPublicプロシージャとなります。 では、どうしてステートメントが必要なのでしょうか? これは目的によりプロシージャの参照を制限したり、開放したりする理由もありますが、 1番の理由は、モジュールが増えた場合、プロシージャがモジュール内だけで参照されているのか それともモジュール外からも参照されているのかを明確にする為です。 プログラムを復数人で開発をしたり、解析する場合、プログラムの規模が大きいほど ステートメントを指定することが重要となってきます。

第5章 4.プロシージャについて Excel VBA 入門講座 第5章 6.変数の有効範囲 TOP