我有一个复杂的应用程序,我把它剥离到重现问题所需的最低限度。
有一个带有名为ComboBoxRatesSelected的组合框的工作表Labor。
这个组合框在工作表参数上有一个RowSource,它在工作表参数上有一个LinkedCell。
工作表的代码模块Labor有一个ComboBoxRatesSelected_Click的事件处理程序。我已经删除了这个事件处理程序,因此它只有一行代码,一个MsgBox。
每当对任何工作表上的任何单元格进行任何更改时,都会触发事件处理程序两次。即使没有单击组合框也没有,并且没有代码可以更改组合框。整个工作簿中唯一的代码是上面提到的组合框的Click处理程序。
我唯一一次看到意外触发事件的情况是,如果其他代码更改了控件中的值,则会触发Click事件。但是,这个精简版本规定了这一点。
此处提供的文件:www.seiglefamily.com/data/ComboBoxFiresEvenWhenNotTouched.xlsm
Crossposted: https://www.excelforum.com/excel-programming-vba-macros/1186999-combobox_click-event-is-firing-for-any-change-on-any-worksheet.html http://www.vbaexpress.com/forum/showthread.php?59577-ComboBox_Click-event-is-firing-for-any-change-on-any-worksheet&p=362039