在电子表格(而不是在用户窗体中)创建组合框列表



我正在尝试将一个列表添加到电子表格上的组合框中。我尝试使用以下代码,但没有任何反应。我宁愿不继续属性并从哪个工作表中填充,而是使用 vba 代码,以防万一有变化。


Sub DropDown1_Change()
Dim ws As Worksheet
Set ws = Sheets("Hours")
ActiveSheet.Shapes("Drop Down 1").List = ws.Range("F2:F6").Text
End Sub

不太确定您的对象实际上是什么,因为组合框名称不使用空格。
也许您将数据验证下拉列表与 acombobox 混淆了。 但是,如果它是一个组合框,并且您命名它时没有空格,这将起作用。

Sub add_items()
Set ws = ActiveSheet
With ws.Drop_Down_1
For i = 2 To 6
.AddItem ws.Range("F" & i).Value
Next i
End With
End Sub

(VBA 新手(不确定您的具体问题,但是当代码在模块中带有它调用的例程时,我的组合框似乎无法识别其 Change(( 事件。 当代码与小部件位于同一工作表中时,它有效。

如果有人知道原因,请发表评论。

最新更新