VBA从模块(excel)更改实例variables

在VBA中,我需要一个模块子来告诉一个实例来设置一些variables。

在模块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保持其值? (在我现实世界的情况下,这些variables是我定义的对象,不能作为公共variables。)

事件顺序:

Load存储在Module1并与Worksheet1上的表单button关联。 这首先被按下。

随后, Worksheet2的ActiveX控件告诉ThisWorkbook调用TestVariables

它适用于我,因为你有它。 创build一个监视(视图 – 观察窗口)为variables1并select中断值更改。 您应该能够看到它何时变为零。