我在 Office Excel 2013 中遇到 Excel VBA 用户窗体事件问题,如下所示
- 带有三个复选框(CB1、2、3)和两个按钮取消和确定的简单用户窗体
- 检查 CB1 时设置 CB3 = false
- 检查 CB2 时设置 CB3 = false
- 检查 CB3 时设置 CB1 = false 和 CB2 = false
我已经阅读并理解了http://www.cpearson.com/excel/SuppressChangeInForms.htm关于用户窗体事件的抑制和部分它的工作原理......
在上面的列表中,上面的 2. 和 3. 在代码中正常工作(如下所示),并且为 CB3 触发了无事件。但是,当我执行 4. 检查 CB3 - 它会触发 CB1 和 CB2 的事件,即使我已将其设置为不触发事件。
感激地收到任何帮助,
此致
肖恩
代码:
Public EnableEvents As Boolean
Private Sub UserForm_Initialize()
Me.EnableEvents = True
End Sub
Private Sub vboInputsSelected_Click()
Me.EnableEvents = False
vboPracticesSelected.value = False 'this line does NOT fire an event
Me.EnableEvents = True
End Sub
Private Sub vboOutputsSelected_Click()
Me.EnableEvents = False
vboPracticesSelected.value = False 'this line does NOT fire an event
Me.EnableEvents = True
End Sub
Private Sub vboPracticesSelected_Click()
Me.EnableEvents = False
vboInputsSelected.value = False 'this line DOES fire an event
vboOutputsSelected.value = False 'this line DOES fire an event
Me.EnableEvents = True
End Sub