如何自动移动列表框上的滚动条以显示所选项目 - VBA

MMS*_*MMS 3 excel vba

我正在动态选择列表框中的一个项目。现在,当选择该项目时,所选项目必须显示在列表框的前端。更像是滚动条必须移动到该项目。这样最终用户就会知道该项目已被选择。我尝试使用 SetFocus 但收到错误:

对象不支持此属性或方法

错误发生在.SetFocus(idx) = True下面一行:

ReqSearchvalue = Range("B" & reqrow).Value

Sheets("Main").Activate

With Sheets("Main").Ent_ListBox
    For i = 0 To .ListCount - 1
        Value = .List(i)
        If Value = ReqSearchvalue Then
            idx = i
            Exit For
        End If
    Next i
    .Selected(idx) = True
    .SetFocus(idx) = True
End With
Run Code Online (Sandbox Code Playgroud)

请分享您的想法。

Rob*_*zie 6

SetFocus不是一个方法ListBox。但是,您可以设置该TopIndex属性来执行此操作:

With Sheets("Main").Ent_ListBox
    For i = 0 To .ListCount - 1
        Value = .List(i)
        If Value = ReqSearchvalue Then
            idx = i
            Exit For
        End If
    Next i
    .Selected(idx) = True
    .TopIndex = idx
End With
Run Code Online (Sandbox Code Playgroud)