VBA 中COMBOBOX如何收起下拉列表

1 篇文章 0 订阅
1 篇文章 0 订阅
文章讲述了如何在COMBOBOX的change事件中控制DROPDOWN方法的触发,以防止输入时自动显示下拉列表,同时确保清空内容时不触发。作者给出了使用Enter和Exit事件作为前提条件的示例。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值