【发布时间】:2018-01-19 13:51:08
【问题描述】:
我复制了this 主题,因为它是一个非常相似的问题,出现在我的表单中。
我有一个表单,其中一个组合框在每次击键时在项目列表中执行搜索。问题是键入时显示的结果列表只有 1 行,显示在组合框下方。在该字段的右侧,有一个向上/向下箭头滚动按钮。
如果我用它来滚动列表,它会显示找到的项目。当我单击组合框的箭头时,包含结果的字段会消失,如果我再次单击箭头,它会显示已执行搜索结果的完整列表。
下面是例程的代码:
Private Sub MiscD_Change()
Dim v As Variant, i As Long
With Me.MiscD
If .Value <> "" And .ListIndex = -1 Then
v = Range("MiscD").Value
.Clear 'clear all items
'Repopulate with matched items
For i = LBound(v) To UBound(v)
If LCase(v(i, 1)) Like "*" & LCase(.Value) & "*" Then
.AddItem v(i, 1)
.DropDown
End If
Next i
Else
'Repopulate with all items
.List = Range("MiscD").Value
End If
End With
End Sub
似乎 ListFillRange 在 FormControl 中不可用。 我已经检查了可能会强制显示结果的 .DropDown 属性,但我找不到。
我注意到的另一件事是,通过键盘上的箭头键进行选择会遍历原始列表,而通过单击鼠标进行选择会为您提供搜索中的项目列表。
我认为有两个列表,但我不知道搜索中的项目列表存储在哪里,所以我可以以某种方式解决它。
【问题讨论】:
-
谢谢,Hexfire,我只是在寻找一种显示图像的方法。
标签: excel combobox form-control vba