组合框\u单击并\u更改ListFillRange编辑触发的事件?(Excel VBA)
在这里使用Excel 2010。从一张空白表开始,我创建了一个ActiveX组合框 1) 打开“属性”窗口并设置:组合框\u单击并\u更改ListFillRange编辑触发的事件?(Excel VBA),excel,vba,events,combobox,Excel,Vba,Events,Combobox,在这里使用Excel 2010。从一张空白表开始,我创建了一个ActiveX组合框 1) 打开“属性”窗口并设置: ListFillRange = "A1:A3" 2) 手动在A1:A3范围内的每个单元格中分别填充单词“一”、“二”和“三”(这些字符串是任意的) 3) 单击组合框下拉箭头以检查值是否显示在列表中 4) 启用设计模式并双击组合框以打开VBA编辑器,然后粘贴以下代码(假定组合框名称为“ComboBox1”): 5) 返回包含组合框的工作表并禁用设计模式 6) 单击组合框下拉按钮并从
ListFillRange = "A1:A3"
2) 手动在A1:A3范围内的每个单元格中分别填充单词“一”、“二”和“三”(这些字符串是任意的)
3) 单击组合框下拉箭头以检查值是否显示在列表中
4) 启用设计模式并双击组合框以打开VBA编辑器,然后粘贴以下代码(假定组合框名称为“ComboBox1”):
5) 返回包含组合框的工作表并禁用设计模式
6) 单击组合框下拉按钮并从列表中选择顶部项目(“一”)。释放鼠标按钮后,应立即获得两个MsgBox窗口,一个用于_click事件,另一个用于_change事件,如上述子窗口所示
7) 在仍然选择“一”的情况下,双击ListFillRange中的任何单元格(例如,单元格“A2”)
结果:步骤7同时触发“单击”和“更改”事件!每当编辑ListFillRange范围中的值时,和组合框中的字符串至少与ListFillRange中的一个值完全匹配时,就会发生这种情况
知道为什么会这样吗?是虫子吗?提前谢谢 我没有对ActiveX控件使用ListFillRange。你可能应该避免使用这些。如果数据是静态的,则尝试通过代码使用AddItem填充数据
Private Sub ComboBox1_change()
MsgBox "Change event"
End Sub
Private Sub ComboBox1_click()
MsgBox "Click event"
End Sub