Excel VBAのチップスです。
プロシージャ内で宣言された変数は、そのプロシージャ内のみで有効です。ですが、他のプロシージャでも同じ変数を使用したいときもあり、指定すれば可能となります。この適応範囲(スコープ)には
以下の3種類があります。
適応範囲 | キーワード | 宣言場所 |
---|---|---|
ローカル | Dim,Static | プロシージャ内で宣言 |
モジュール | DimまたはPrivate | モジュールの先頭 |
パブリック | Public型 | モジュールの先頭 |
宣言されたプロシージャ内が適応範囲。他のプロシージャからは参照できません。逆に、別のプロシージャで同じ変数名を使用しても問題ありません。別の変数として扱われます。
モジュール内のすべてのプロシージャが適応範囲。同じモジュール内のすべてのプロシージャから参照できます。
下図の場合だと、sample1とSample2で使用できます。
モジュール内のすべてのプロシージャが適応範囲。すべてモジュール内のすべてのプロシージャから参照できます。