VBA では、いくつかの変数を設定するようにインスタンスに指示するモジュール サブが必要です。
モジュール 1 には、次のものがあります。
Sub Load()
ThisWorkbook.SetupVariables
ThisWorkbook.TestVariables
End Sub
ThisWorkbook には次のものがあります。
Private Variable1 As Integer
Private Variable2 As String
Private Variable3 As MyUserDefinedObjectType
Public Sub SetupVariables()
Variable1 = 5
Variable2 = "Five"
Set Variable3 = New MyUserDefinedObjectType()
End Sub
Sub TestVariables()
MsgBox Variable1 & " is spelled " & Variable2
Variable3.SomeFunction
End Sub
Load() 内で TestVariables を呼び出すと正しい結果が得られますが、その後の TestVariables の呼び出しは失敗します。Variable1 と Variable2 に値を保持させるにはどうすればよいですか? (私の現実の状況では、これらの変数は私が定義したオブジェクトであり、パブリック変数にすることはできません。)
イベントの順序:
Load
に保存されModule1
、 のフォーム ボタンに関連付けられますWorksheet1
。これが最初に押されます。
続いて、 の ActiveX コントロールがを呼び出すようにWorksheet2
指示します。ThisWorkbook
TestVariables