我正在尝试动态选择Listbox中的值。但我不能这样做。我收到错误,Object不支持此属性或方法。
这是代码,
ReqSearchvalue = Range("B" & reqrow).Value
Sheets("Main").Activate
With Sheets("Main").Ent_ListBox
.Values = ReqSearchvalue
.SetFocus = ReqSearchvalue
End With
请分享您的想法。提前谢谢!
答案 0 :(得分:2)
感谢@Peh纠正此事。
循环浏览List
以查找您正在查找的值的索引,然后将.Selected(idx)
设置为True。
Dim i As Long, found As Boolean
With Worksheets("Main").OLEObjects("Ent_ListBox").Object
For i = 0 To .ListCount - 1
If .List(i) = ReqSearchvalue Then
found = True
Exit For
End If
Next i
If found then .Selected(i) = True
End With
答案 1 :(得分:-1)
ListBox.SetFocus
是一种方法,它将焦点设置在列表框本身上,您无法为其赋值。您必须找到所需项目的索引,然后使用.SelectedItem(index)
。