作者edmund71405 (饼乾小舖)
看板Office
标题Re: [问题] ComboBox选值後,下拉再次显示所有内容?
时间Wed Jul 8 09:34:26 2020
你好,我也在尝试撰写模糊比对的下拉选单
我遇到的问题是当下拉选单的搜索条件改变时,下拉选单的栏位长度没有重新刷新
能请教您的实现方式吗?
这是所有项目
https://i.imgur.com/G16DY95.jpg
这是输入搜索条件
https://i.imgur.com/keo5TQM.jpg
删除1後应该要显示回三个选项
https://i.imgur.com/TEAaGNK.jpg
但是他变成在选单第一个内显示三个
如果滑鼠重新点选箭头他就显示正常了
https://i.imgur.com/eWdW57z.jpg
应该怎麽用vba让下拉选单重新打开呢
这是实现代码
If ComboBox1.ListIndex = -1 Then
ComboBox1.Clear
For i = 0 To UBound(chanpin)
If InStr(chanpin(i, 1), ComboBox1.Value) Then
ComboBox1.AddItem chanpin(i, 1)
End If
Next
ComboBox1.DropDown
End If
※ 引述《xc9500 (只需要20秒的疯狂勇气!)》之铭言:
: 软体:Excel
: 版本: 2016
: 各位大大好!请问一下,在comboBox的下拉选单中,有做模糊比对的功能,
: 当手动输入或是在下拉选完值後,再次下拉时,下拉选单只会呈现之前所选的值。
: 例如:下拉选单中有5笔资料值,当选择第一笔资料值"ABC"後,
: 再次点选下拉选单按钮时,就只会呈现出"ABC".
: 所以想请问一下,有什麽方法,可以当输入框中已经有值时,再点选下拉按钮时,
: 仍会重新显示5笔资料来供选择呢?
: 附档如下:
: https://1drv.ms/x/s!Atz5-ybVJn3XyiDpwtym8tb5UeBh?e=IKY5h6
: 请再帮忙解惑一下,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.136.93.221 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1594172068.A.304.html
1F:→ soyoso: 不用判断If ComboBox1.ListIndex = -1... 07/08 11:32
2F:→ soyoso: If InStr(chanpin(i, 1)...内设个阵列变数来暂存符合的变 07/08 11:32
3F:→ soyoso: 数chanpin的值,ComboBox1.DropDown上面combobox1.list=阵 07/08 11:32
4F:→ soyoso: 列变数 07/08 11:32
5F:→ soyoso: 触发事件写在ComboBox1_Change 07/08 11:32