2

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指示します。ThisWorkbookTestVariables

4

1 に答える 1

0

あなたがそれを持っているので、それは私のために働きます。Variable1のウォッチを作成し([表示]-[ウォッチウィンドウ])、[値が変更されたときに中断]を選択します。いつゼロに変わるかを確認できるはずです。

于 2012-11-13T20:42:20.173 に答える