在Userform(Excel)中循环列表框

时间:2018-03-11 16:09:05

标签: vba excel-vba excel

我正在尝试在Userform上循环显示10个列表框。

但是当我在下面运行代码时,我的错误类型不匹配。

列表框是lstCecha01到lstCecha10。

代码是:

       Set<String> tables = db.getCollectionNames();
        for(String coll : tables){
        System.out.println(coll);
        }

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您必须在arrtabelaCechGrupy()类型

之后声明您的Variant数组
Private Sub CommandButton1_Click()
    Dim arrtabelaCechGrupy() As Variant

    arrtabelaCechGrupy = Array(Me.lstCecha01, Me.lstCecha02, Me.lstCecha03, Me.lstCecha04, Me.lstCecha05, Me.lstCecha06, Me.lstCecha07, Me.lstCecha08, Me.lstCecha09, Me.lstCecha10)

    Dim LBox As Variant

    For Each LBox In arrtabelaCechGrupy
        MsgBox LBox.name
    Next LBox
End Sub

但您可以通过Userform Controls集合

按名称避免数组和地址列表框
Private Sub CommandButton1_Click()
    Dim iLB As Long

    For iLB = 1 To 10
        With Me.Controls("lstCecha" & Format(iLB, "00"))
            MsgBox .name
        End With
    Next
End Sub