在选择上一个组合框以确定数据后,使用工作表数据填充多列组合框

时间:2017-11-03 23:19:11

标签: vba combobox

我有两个组合框,你选择的第一个组合框可以选择第二个组合框。你选择的第一个,第二个应该显示两列。

我在第二个组合框中使用

运行了一列
Private Sub cbo_area_Change()
    'Populate Equipment combo box.
    Dim strRange As String
    If cbo_area.ListIndex > -1 Then
       strRange = cbo_area
       Label2.Caption = strRange
       strRange = Replace(strRange, " ", "_")
            With cbo_asset
                .RowSource = vbNullString
                .RowSource = strRange
                .ListIndex = 0
            End With
    End If
End Sub

现在经过大量的研究和尝试各种各样的事情,我尝试了以下两个专栏。

Private Sub cbo_area_Change()
    'Populate Equipment combo box.
    Dim strRange As String
    Dim strRange2 As String
    If cbo_area.ListIndex > -1 Then
       strRange = cbo_area
       Label2.Caption = strRange
       strRange = Replace(strRange, " ", "_")
       strRange2 = strRange & "2"
            With cbo_asset
                .RowSource = vbNullString
                .List(.ListCount - 1, 1) = strRange
                .List(.ListCount - 1, 2) = strRange2
                .ListIndex = 0
            End With
    End If
End Sub

但我在invalid property array index行获得List(.ListCount - 1, 1) = strRange

就像我说的那样,我尝试了很多东西,但我没有比这更进一步。

1 个答案:

答案 0 :(得分:0)

在为其指定值之前,您需要将一个项目添加到列表中。添加的项目成为第0列。

    With cbo_asset
        .ColumnCount = 2
        .ColumnWidths = "60pt;75pt;"
        .RowSource = vbNullString
        .AddItem strRange
        .list(.ListCount - 1, 1) = strRange2
        .ListIndex = 0
    End With