ComboBox Enter事件从对象浏览器中消失了

时间:2018-09-08 10:52:53

标签: excel vba excel-vba combobox objectbrowser

我有一个类模块,用于在Excel VBA项目中扩展MSForms ComboBox的功能。 我在班级添加了组合框引用:

Private WithEvents cBox As ComboBox

我为此组合框添加了一堆事件处理程序,包括Enter事件:

Private Sub cBox_Enter()
  ...
End Sub

这工作正常,突然我的Enter事件停止触发。 因此,我开始调查,发现它不再列为“ cBox”的事件列表中的事件之一。实际上,其他事件也丢失了。 发生这种情况时,我没有对参考进行任何更改。在此之前,我所做的最后一个更改是注释掉一些我没有用来完成功能的事件。评论并恢复它们并没有带回事件。现在,所有缺少的事件处理程序都作为函数列出在类本身下(例如cBox_Enter)

当前列表具有:

BeforeDragOver
BeforeDroporPaste
Change
Click
DblClick
DropButtonClick
Error
KeyDown
KeyPress
KeyUp
MouseDown
MouseMove
MouseUp

但是,用户窗体上的相同ComboBox控件仍然列出了所有丢失的事件:

AfterUpdate (*)
BeforeDragOver
BeforeDroporPaste
BeforeUpdate (*)
Change
Click
DblClick
DropButtonClick
Enter (*)
Error
Exit (*)
KeyDown
KeyPress
KeyUp
MouseDown
MouseMove
MouseUp

该类中缺少带有(*)的事件,但出现在UserForm列表中。 我还去了对象浏览器,看了看ComboBox对象,在类浏览器中那些事件也丢失了。

以前有没有人看过这种东西,并且知道如何将这些事件返回到类模块中?

注意:我正在使用Excel 2003

0 个答案:

没有答案