Vba 记忆布尔信息
我有一个关于VBA的问题,记得一个布尔真/假值。关闭或保存后,仅当其打开时,不需要记住它。但似乎不记得这个结果 我有两个复选框,一个在单击其中一个时切换到另一个,但是由于其中一个正在加载大量数据(复选框15),如果用户不小心单击复选框16,我不希望它这样做Vba 记忆布尔信息,vba,excel,boolean,Vba,Excel,Boolean,我有一个关于VBA的问题,记得一个布尔真/假值。关闭或保存后,仅当其打开时,不需要记住它。但似乎不记得这个结果 我有两个复选框,一个在单击其中一个时切换到另一个,但是由于其中一个正在加载大量数据(复选框15),如果用户不小心单击复选框16,我不希望它这样做 Public Sub CheckBox1_Click() Dim ACTUALLOADED As Boolean If Worksheets("Sheet1").Shapes("Check Box 15").OLEFormat.Object
Public Sub CheckBox1_Click()
Dim ACTUALLOADED As Boolean
If Worksheets("Sheet1").Shapes("Check Box 15").OLEFormat.Object.Value = 1 Then
Worksheets("Sheet1").Shapes("Check Box 16").OLEFormat.Object.Value = 0
If ACTUALLOADED = False Then
Sheet32.ListBox2_Empty
Sheet32.ListBox1_Fill
**DO SOME CODE**
Sheet3.UpdateSOP
ACTUALLOADED = True
End If
Else
Worksheets("Sheet1").Shapes("Check Box 16").OLEFormat.Object.Value = 1
Sheet32.ListBox1_Empty
Sheet32.ListBox2_Fill
End If
End Sub
第一次单击该复选框时,ACTUALLOADED=False,因此它将运行代码
然而,在最后代码使ACTUALLOADED=TRUE,但当我再次单击相同的复选框时,它会忘记它
它好像不记得布尔式的真/假。我怎样才能做到这一点呢?我认为使用
Public
可以解决您的问题
将ActualAlloaded
从sub中取出并声明为public:
Public ACTUALLOADED As Boolean
定义变量时可以使用Static选项,因此
Dim ACTUALLOADED As Boolean
你会用
Static ACTUALLOADED as Boolean
这将在调用之间保留实际分配的值
但正如@JLILI-Amen所说,您可以在模块级而不是子模块/功能级使用公共减速。您可以提供更多代码,更像整个子模块吗?希望这有帮助!谢谢