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告诉ThisWorkbook调用TestVariables.

4

1 回答 1

0

它对我有用,就像你拥有它一样。为变量 1 创建一个观察(视图 - 观察窗口)并选择值更改时中断。您应该能够看到它何时变为零。

于 2012-11-13T20:42:20.173 回答