Public 返回代码时值未更新 (VBA)
Public value does not updated when going back to code (VBA)
Public 当窗体关闭并且代码导航回宏时,变量没有更新。
我创建的表单只有两个按钮 "Yes" 和 "No"。当用户单击 "No" 时,我想将一个变量设置为 false,如果是 "Yes",它将为 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
在不在 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ʳᵈ选项。所以它可以减少。另请注意,您应该为范围指定 sheet,例如 ThisWorkbook.Worksheets("Sheet1").Range("A1") = "Yes"
,否则 Excel 使用哪个 sheet 曾经处于活动状态。
你想把按钮放在什么地方的程序
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。那会产生一个警告来防止这个问题。
Public 当窗体关闭并且代码导航回宏时,变量没有更新。
我创建的表单只有两个按钮 "Yes" 和 "No"。当用户单击 "No" 时,我想将一个变量设置为 false,如果是 "Yes",它将为 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
在不在
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ʳᵈ选项。所以它可以减少。另请注意,您应该为范围指定 sheet,例如ThisWorkbook.Worksheets("Sheet1").Range("A1") = "Yes"
,否则 Excel 使用哪个 sheet 曾经处于活动状态。你想把按钮放在什么地方的程序
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。那会产生一个警告来防止这个问题。