移至多重选择列表框的位置

时间:2018-11-14 11:12:23

标签: vba ms-access access-vba

我有一个多选列表框,希望将其变为可搜索的。如果在列表框中找到了搜索值,那么我想滚动到该位置,但不要选择它。这可能吗?到目前为止,我要搜索的代码是:-

With lstComm
    For i = 0 To .ListCount - 1
        If .Column(6, i) = txtSearch.Value Then

        End If
    Next i
End With

...但是我不确定如何完成滚动。

1 个答案:

答案 0 :(得分:1)

这应该可以正常工作:

Dim index As Long
With lstComm
    Dim match As Boolean
    For index = 0 To .ListCount - 1
        If .Column(1, index) = txtSearch.Value Then
            match = True
            Exit For
        End If
    Next

    If Not match Then Exit Sub

    Dim isSelected As Boolean
    isSelected = .Selected(index)

    .Selected(index) = True
    .Selected(index) = isSelected
End With

它检索列表框的搜索项。

如果未找到任何项目,则存在。

否则,它将存储该项目的当前选择状态,将其选中以放置列表框,然后恢复该项目的存储状态。