プロシージャ内で宣言した変数はそのプロシージャ内でのみ有効です。
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を指定します。