Excel VBA 初心者の為の入門講座のホームページです

Excel VBA 入門講座


6.変数の有効範囲

プロシージャレベルで宣言された変数は、そのプロシージャの中でのみ有効となります。 同じ変数や定数を別のプロシージャで使用したい場合はプライベートモジュールレベルで変数を宣言し、 全モジュールの全プロシージャで使用したい場合は、パブリックモジュールレベルで宣言します。 この場合、設定したい変数や定数を宣言セクションで宣言します。

変数の有効範囲


'Module1に記述↓↓↓↓↓↓↓↓↓↓

Public i As Integer 'パブリックモジュールレベルの変数宣言
Dim j As Integer 'プライベートモジュールレベルの変数宣言

Private Sub ProcedureL()
    Dim k As Integer 'プロシージャレベルの変数宣言

    i=0
    j =0
    k = 0

    i = i+1
    j = j+1
    k = k+1
    Call PrivateML
    Call PublicML
    MsgBox "パブリックモジュールレベル変数:" + CStr(i) + Chr(10) + _
           "プライベートモジュールレベル変数:" + CStr(j) + Chr(10) + _
           "プロシージャレベル変数:" + CStr(k)
End Sub

Private Sub PrivateML()
    i = i + 1
    j = j + 1
    k = k + 1
End Sub


'Module2に記述↓↓↓↓↓↓↓↓↓↓

Public Sub PublicML()
    i = i + 1
    j = j + 1
    k = k + 1
End Sub
Copyright (C) pc-users.net, All Rights Reserved.