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

时间:2017-05-30 12:19:54

标签: vba excel-vba excel

我正在动态选择列表框中的项目。现在,当选择该项目时,所选项目必须显示在列表框的前端。更像滚动条必须移动到该项目。这样最终用户就可以知道该项目已被选中。我尝试使用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

请分享您的想法。

1 个答案:

答案 0 :(得分:4)

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