COMBOBOX提供了DROPDOWN的方法,如果想在输入的时候触发下拉列表,那么只需要在change事件中使用DROPDOWN的方法即可,但是清空COMBOBOX中的内容也会触发下拉列表,那么怎么能做到COMBOBOX输入时触发下拉列表,清空COMBOBOX内容的时候不触发下拉列表呢?
Private Sub ComboBox1_Change()
'对change事件设置前提条件
If ThisWorkbook.Sheets("测试").Range("a1") = 1 And Len(ComboBox1.Text) > 1 Then
ComboBox1.DropDown
End If
End Sub
'当鼠标点击进入复选框的时候允许执行change事件
Private Sub ComboBox1_Enter()
ThisWorkbook.Sheets("测试").Range("a1") = 1
End Sub
'当鼠标点击进入复选框的时候不允许执行change事件
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
ThisWorkbook.Sheets("测试").Range("a1") = 0
End Sub
'以下举例通过其他控件来清空ComboBox1内容,如果有上面的Enter和Exit事件控制前提条件,因为没有触发ComboBox1_Enter事件,ComboBox1_Change前提条件不成立,无法触发ComboBox1_Change事件
Private Sub CommandButton1_Click()
ComboBox1 = ""
End Sub