我的问题是能够使用vba选择列表框中的行。 我的程序遍历一个表并找到列表框的值,即一个整数/行号,并将其设置在一个同样用于列表框名称的变量中。
所以列表框名称=变量LstName
ListBox value = strvalue as integer。
然后我想在列表框中选择该行,以便突出显示
我无法让它发挥作用。如果我使用实际名称和数字值,它可以很好地工作,但组合me.LstName.selected(strValue) = True
会产生错误
答案 0 :(得分:2)
这不是列表框的工作方式。 LstName.Selected(iRow as Long) As Long
只接受数字,并返回-1表示true,0表示false。
如果要根据字符串在列表框中设置项目,可以使用以下内容:
Public Sub ListboxSelectString(lstListbox As ListBox, strToSelect As String, Optional SelectDeselect As Boolean = True)
Dim i As Integer
For i = 0 To lstListbox.ListCount - 1
If lstListbox.ItemData(i) = strToSelect Then
lstListbox.Selected(i) = SelectDeselect
End If
Next i
End Sub
然后,您可以使用ListboxSelectString Me.LstName, strValue
在strValue
Me.LstName