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