8. 変数の宣言4(ローカルとグローバル)
変数は宣言する場所によって、性格が変わります。
★サンプルファイル 3_008_009.xls
-
いままでは、Subプロシージャ内での変数の宣言方法を説明してきました。
Sub サンプル3
() Dim myButtonNo As
Integer myButtonNo = MsgBox(省略) Range("E1").Value =
myButtonNo End Sub
これはプロシージャレベル変数(又はローカル変数)といって、 Subプロシージャ内でしか利用できません。
-
下記の場合、プロシージャ名以外全く同じですが、
変数myButtonNo As Integerは全く別のものとして扱われます。
Sub
サンプル4 () Dim
myButtonNo As Integer myButtonNo = MsgBox(省略) Range("E1").Value
= myButtonNo End Sub
Sub サンプル5
() Dim myButtonNo As
Integer myButtonNo = MsgBox(省略) Range("E1").Value =
myButtonNo End Sub
-
同じ目的で同じ名前を使うなら、モジュールレベル変数(グローバル変数)として宣言してやります。
モジュールの一番初で 宣言してやれば一回ですみます。
Dim myButtonNo As Integer
Sub サンプル6
() myButtonNo = MsgBox(省略) Range("E1").Value = myButtonNo End
Sub
Sub サンプル7 () myButtonNo = MsgBox(省略) Range("E1").Value =
myButtonNo End Sub
-
ただ、この場合宣言したモジュール内でしか使用できません。 他のモジュールでも使用したい場合は、
Dimの変わりにPublic myButtonNo
As Integer とPublicを使用すればOKです。
One Point アドバイス 変数を宣言するもう一つのメリット Dim HenSuu As Integer と宣言したとします。 入力は小文字でhensuu といれても 必ず宣言したHenSuuになります。 ですから 変数は大文字小文字を組み合わせて
設定したほうがいいでしょう。 仮にまちがってkensuu と入力した場合
小文字のままなので 、 間違いが分かり易くなります。
練習 変数を宣言して、無理に間違えてみましょう。 また小文字で正しく入力してみましょう。
'----------------------------------------------------------------
Top
|