2017-10-10 14 views
0

VBA(マクロ)スクリプトには、グローバルに定義された変数がたくさんあります。現在のモジュールのプロシージャでこれらの値を設定します。別のモジュールにある別のプロシージャでこれらの値を取得する方法はありますか?VBA値の永続性

+0

*グローバルに*定義されている場合あなたが言うように、彼らは既に他のルーチンに利用可能であるべきです。どのように宣言したのですか? – Rory

答えて

1

変数の宣言までです。 - サブ内

このサブ自体にのみアクセス可能である: - :

Dim stringVariable as string 

Sub ModuleScope() 
    stringVariable = "abc" 
End Sub 

Sub PrintString() 
    debug.print stringVariable 
End Sub 

パブリック

Sub LocalScope() 
    Dim stringVariable as string 

    stringVariable = "abc" 
    debug.print stringVariable 
End Sub 

薄暗いモジュールの上部に、これはモジュール内の任意のサブルーチンにアクセス可能ですモジュールの最上部にあります - これはすべてのモジュールのsubsにアクセス可能です:

Public stringVariable as string 

Sub ModuleScope() 
    stringVariable = "abc" 
End Sub 

Sub PrintString() 
    debug.print stringVariable 
End Sub