我有一个Excel电子表格,我想在其中应用组合框。 组合框下拉列表的值显示在Excel工作表的A列中:
A
1 Test 1
2 Test 2
3 Test 3
4 Test 4
到目前为止,我对组合框使用以下代码:
Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Sheet1!A1:A4"
End Sub
此代码完美无缺。但是,当我从" Sheet1"更改工作表的名称时例如"营销"代码不再运行了。因此,最好是代码应引用Excel中的内部工作表名称。 因此我创建了以下代码:
Private Sub UserForm_Initialize()
ComboBox1.RowSource = Sheet1.Range("A1:A4")
End Sub
然而,使用此代码我得到运行时错误424。 您是否知道如何使用内部工作表名称将工作表中的值从组合框的下拉菜单中获取?
答案 0 :(得分:1)
ComboBox1.RowSource = Sheet1.Name & "!A1:A4"
您还可以将范围添加为隐藏名称,以便自动更新(未测试):
ThisWorkbook.Names.Add Name:="myName", RefersTo:="=Sheet1!A1:A4", Visible:=False
然后在UserForm中:
ComboBox1.RowSource = "myName"