【发布时间】:2015-01-20 11:25:59
【问题描述】:
我正在使用 Excel 2010 VBA。有没有一种方法可以访问在用户表单外部声明的全局变量中的值,在用户表单内部的代码中?我的用户表单中的代码将全局变量返回为 null - 不知道为什么!
变量在 ThisWorkbook 模块中声明为:
Public TargetCell As Range
Public TargetCellWorksheet as Worksheet
Public CurrentValue As Long
在用户表单中,我在“更新”按钮上有这段代码:
Private Sub Update_Click()
MsgBox ("Start of Update sub. TargetCellWorksheet =" & TargetCellWorksheet)
End Sub
msgbox 为变量返回 ""。
希望有人能够帮助我理解这一点以及如何访问用户表单中的变量?提前谢谢你
【问题讨论】:
-
使用全局变量还是局部变量没有区别,如果变量的值没有设置,则变量为空("")
-
感谢 Vasily - 我已将 Set 留在了我的代码中(为简洁起见)。该变量在用户表单之外已设置、可访问且不为空。
-
尝试调用你在msgbox之前设置变量的宏,因为目前它似乎没有被赋值
标签: vba global-variables userform