変数の有効範囲

プロシージャ内で宣言した変数はそのプロシージャ内でのみ有効です。

Sub Squared()
  Dim a
  a = 2^2
End Sub

モジュールの先頭の宣言セクション内で宣言した変数は、宣言したモジュール内のすべてのプロシージャで使用できますが、他のモジュールのプロシージャでは使用できません。

Dim a

Sub Squared()
  a = 2 ^ 2
End Sub

Sub SquareRoot()
  a = Sqr(2)
End Sub

宣言した変数をプロジェクト内のすべてのプロシージャで使用できるようにするには、次の例のように Publicを指定します。