我有两个组合框,你选择的第一个组合框可以选择第二个组合框。你选择的第一个,第二个应该显示两列。
我在第二个组合框中使用
运行了一列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
。
就像我说的那样,我尝试了很多东西,但我没有比这更进一步。
答案 0 :(得分:0)
在为其指定值之前,您需要将一个项目添加到列表中。添加的项目成为第0列。
With cbo_asset
.ColumnCount = 2
.ColumnWidths = "60pt;75pt;"
.RowSource = vbNullString
.AddItem strRange
.list(.ListCount - 1, 1) = strRange2
.ListIndex = 0
End With