【发布时间】:2020-01-08 11:33:29
【问题描述】:
当 Form 关闭并且代码导航回宏时,公共变量没有更新。
我创建的表单只有两个按钮“是”和“否”。当用户单击“否”时,我希望将变量设置为 false,如果“是”,它将为 true。
这是工作表代码
Public bool As Boolean
Sub test2()
Claims.Show
If bool = True Then
Range("A1") = "Yes"
ElseIf bool = False Then
Range("A1") = "No"
Else
Range("A1") = "Nothing"
End If
End Sub
在我想要一个值的表单下方
Priate Sub No_Click()
bool = False
Unload Me
End Sub
Private Sub Yes_Click()
bool = True
Unload Me
End Sub
【问题讨论】:
-
@Dorian 否,但公共变量必须在模块中而不是在工作表代码中才能在所有模块中全局可用。如果它在一个模块中,则可以使用 all 个模块。
-
您的所有模块中都有
Option Explicit吗?这会有所帮助。 -
那是
Pirate Sub吗?我想你拼错了Private -
那你应该添加它....
-
不确定你到底想要做什么,但绝对考虑使用参数而不是可变全局状态 - 未来你提前感谢你 ;-) 见 this article (免责声明:我写的)了解更多使用模态表单和对话框的可靠方法。