在VBA中自动化Listbox值

时间:2018-05-22 14:33:49

标签: vba excel-vba listbox excel

您好我正在尝试将值自动化到包含两个列表框的网站中。 对于第一个列表框,此代码可以工作,但它不适用于第二个列表框。即使我更改了变量“a”,我也不能在第二个下面复制并粘贴此代码。任何帮助表示赞赏!

For a = 1 To cats.Options.Length
If cats.Options(a).Text = "Option One" Then
cats.selectedindex = a
Exit For
End If
Next a

1 个答案:

答案 0 :(得分:2)

如果您正在处理多个列表,那么您应该提供一个可重用的代码块,您可以调用任何列表+值。

类似的东西:

Function SetByTextValue(lst as object, v as string) As Boolean
    Dim a as long
    For a = 0 To lst.Options.Length - 1
        If lst.Options(a).Text = v Then
            lst.selectedindex = a
            SetByTextValue = True
            Exit Function
        End If
    Next a
End Function

然后在您的主代码中,您可以执行以下操作:

If Not SetByTextValue(cats, "Option One") Then
   'not found
Else
   '...proceed with next list
End If