嗨,我是vba excel的新手,但我还没找到我在谷歌寻找的东西。
我想在我的组合框中找到这样的列表
BUS B
APPLE A
SUGAR S
JELLY J
我过去喜欢这个
Dim listEntries(3, 2) As Variant
listEntries(0, 0) = "A"
listEntries(0, 1) = "Apple"
listEntries(1, 0) = "S"
listEntries(1, 1) = "Sugar"
listEntries(2, 0) = "J"
listEntries(2, 1) = "Jelly"
Me.ComboBox1.List = listEntries
但现在数据变得如此之多。我希望列表来自另一个工作表列表。我在谷歌找到了这个。但它仍然不起作用
Private Sub UserForm_Initialize()
Dim cItem As Range
Dim ws As Worksheet
Set ws = Worksheets("LookupLists")
For Each cItem In ws.Range("ItemList")
With Me.cboItem
.AddItem cItem.Value
.List(.ListCount - 1, 1) = cItem.Offset(0, 1).Value
End With
Next cItem
End Sub
我的代码中是否有任何遗漏,或者是否有另一种方法可以从另一张表中获取多个值?
答案 0 :(得分:1)
如果您只是想在列表中添加一个范围,则不需要循环:
Private Sub UserForm_Initialize()
Me.cboItem.List = Worksheets("LookupLists").Range("ItemList").Resize(, 2).Value
End Sub