ComboBox ListFillRange VBA

时间:2014-03-15 16:49:13

标签: vba

我对VBA for Excel很新,我试图制作一个ComboBox并用特定范围的值填充它。我从互联网的某处获得了盒子本身的代码,并添加了一些ListFillRange作为它的东西。问题是ComboBox的列表只有我指定的范围的第一个单元格的值,无论我尝试什么。我搜索了整个互联网,无法找到解决方案。我把盒子放在一个单独的宏中,只是为了测试是什么问题。这是代码:

Sub testme()

Dim box As OLEObject
Dim myRng As Range

'combobox from the Control toolbox toolbar
Set myRng = ActiveSheet.Range("a25")
With myRng
Set box = .Parent.OLEObjects.Add _
(ClassType:="Forms.ComboBox.1", _
Link:=False, _
DisplayAsIcon:=False, _
Left:=.Left, _
Top:=.Top, _
Width:=.Width, _
Height:=.Height)
End With
box.LinkedCell = "b20"
Dim gebied As Range
Set gebied = Range("$A$4:$I$4")
box.ListFillRange = gebied.Cells.Address
End Sub

1 个答案:

答案 0 :(得分:1)

ListFillRange需要在一列中。对于WorkSheet ActiveX ComboBox,我认为没有办法解决这个问题,但我可能错了。尝试类似:

Set gebied = Range("$A$4:$A$11")
box.ListFillRange = gebied.Cells.Address