使用VBA选择列表框中的项目。

3
我的问题是如何使用vba选择列表框中的行。我的程序循环遍历表格,找到列表框中的值即一个整数 / 行号,并将其设置为变量,同样的操作也适用于列表框名称。
因此,列表框名称 = 变量LstName 列表框值 = 整数strvalue 我想要选择列表框中的那一行,使其被高亮显示,但我无法做到这一点。如果我使用实际名称和数字值,它可以完美地工作,但是将它们组合在一起时,me.LstName.selected(strValue) = True就会出错。

1
你能详细说明一下错误是什么吗?谢谢 :) - Dman
@Ian H 请问您是否已经找到了解决问题的方法。我也遇到了类似的问题,正在寻找答案。 - Charlie
1个回答

4

列表框不是这样工作的。 LstName.Selected(iRow as Long) As Long 只接受数字,并返回-1表示真,0表示假。

如果你想根据字符串设置列表框中的项,可以使用以下方法:

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来选择Me.LstName上的strValue


嗨,谢谢你的回复。我会尽快尝试一下,希望一切顺利。 - Ian H
{btsdaf} - Ian H
{btsdaf} - Erik A

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接