|
尊敬的ivccav老师:这是您去年六月份帮俺回复过的帖子,[原创] listview实现真正的连续模糊查询+多次选择 http://club.excelhome.net/thread-1384217-4-1.html。经过半年的使用,发现一个不如意的地方(也算是追求完美吧),在窗体里的ComboBox1控件里模糊输入2017则显示与2017相关的合同号供我选择,如果输入AB2018则显示与AB2018相关的合同号供选择,模糊输入AH00则显示与AH00相关的合同号供选择,点击一个合同号,即查询出相应合同号对应的数据。俺从论坛找了一段代码,放进去,实现不了,恳请斧正。
Dim Dic
Set Dic = CreateObject("scripting.dictionary")
Dim i As Long, x As Long
On Error Resume Next '为避免出现重复,加上此句.
With Sheet4
i = .Range("A1").End(xlToRight).Column '从左到右找到最后的非空单元格列号
For x = 7 To i
If .Cells(1, i) <> "" Then
Dic.Add .Cells(1, i).Value '判断不为空赋值给列表框'
' ComboBox1.AddItem .Cells(1, k).Value '判断不为空赋值给列表框
End If
Next
End With
If VBA.Len(ComboBox1.Value) <> 0 Then
ComboBox1.List = Filter(Dic.Keys, ComboBox1.Value)
ComboBox1.DropDown
End If
If VBA.Len(ComboBox1.Value) = 0 Then
ComboBox1.List = Dic.Keys
End If |
|