使用vba选择列表框项

时间:2017-10-20 08:59:29

标签: vba ms-access listbox

我的问题是能够使用vba选择列表框中的行。 我的程序遍历一个表并找到列表框的值,即一个整数/行号,并将其设置在一个同样用于列表框名称的变量中。

所以列表框名称=变量LstName
ListBox value = strvalue as integer。

然后我想在列表框中选择该行,以便突出显示 我无法让它发挥作用。如果我使用实际名称和数字值,它可以很好地工作,但组合me.LstName.selected(strValue) = True会产生错误

1 个答案:

答案 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, strValuestrValue

上选择Me.LstName