关闭窗体并且代码导航回到宏时,公共变量没有更新。
我只有两个按钮“是”和“否”创建了表单。当用户单击“否”时,我希望将变量设置为false,如果为“是”,则该变量为true。
这是WorksheetCode
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
最佳答案
在不是ThisWorkbook
的模块中声明变量。
Public bool As Boolean 'in a module
然后,过程
Test2
可以位于ThisWorkbook
中:Sub test2()
Claims.Show
If bool Then
Range("A1") = "Yes"
Else
Range("A1") = "No"
End If
End Sub
请注意,
bool
只能是True
或False
,没有3ʳᵈ选项。因此可以减少。还要注意,您应该为您的范围指定工作表,例如ThisWorkbook.Worksheets("Sheet1").Range("A1") = "Yes"
,否则Excel使用有效的工作表。您想要放置按钮的地方的步骤
Private Sub No_Click()
bool = False
Unload Me
End Sub
Private Sub Yes_Click()
bool = True
Unload Me
End Sub
我建议始终激活
Option Explicit
:在VBA编辑器中,转到工具›选项› Require Variable Declaration。那样会产生警告,以防止出现此问题。