
動画で楽にパソコンが身につく方法はこちら>>
変数は宣言した場所によってそれを使用できる範囲が制限されます。
プロシージャとは処理単位のひとつで、
Sub から End Sub までのひとつの単位をSubプロシージャとよびます。
-
プロシージャ内に変数を宣言した場合
プロシージャ内で変数を宣言した場合は、その変数はプロシージャ内でのみ利用することができます。
Sub A()
Dim 表示A As Integer ←このSubプロシージャ内でのみ利用可能
処理
End Sub
-
モジュール内のはじめに宣言した場合
モジュールというのはVBAを記述する場所のひとつの単位を指しますが、
以下のように各Subプロシージャの外側に変数を宣言した場合は
各プロシージャからその変数を利用することができます。
Dim 表示B As Integer ←各Subプロシージャから利用可能
Sub B()
表示B = 1
MsgBox 表示B
End Sub
Sub C()
表示B = 2
MsgBox 表示B
End Sub
[サンプルC097]
Dim 表示B As Integer
Sub B()
表示B = 2
MsgBox 表示B
End Sub
Sub B()内から変数「表示B」を参照できるため、
2を代入してメッセージボックスを表示させています。
-
Publicステートメントを使って宣言した場合
先頭に「Pubulic」ステートメントを付けて変数を宣言した場合は
外部の他のモジュールからもその変数を利用することができます。
Public
表示C As Integer
モジュール1————————-
[サンプルC097_1]
Public
表示C As Integer
モジュール2————————-
[サンプルC097_2]
Sub E()
表示C = 100
MsgBox 表示C
End Sub
「モジュール1」内の変数「表示C」は Publicで宣言されており、
別の「モジュール2」内のSub E()からも参照できるので
変数「表示C」に100を代入してメッセージボックスで表示させています。

動画で楽にパソコンが身につく方法はこちら>>