Excel 具有内部工作表名称的组合框的值

Excel 具有内部工作表名称的组合框的值,excel,combobox,vba,Excel,Combobox,Vba,我有一个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 这段代码工作得很好。但是,当我将工

我有一个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更改为例如Marketing时,代码将不再运行。因此,代码最好引用Excel中的内部图纸名称。 因此,我创建了以下代码:

Private Sub UserForm_Initialize()
ComboBox1.RowSource = Sheet1.Range("A1:A4")
End Sub
然而,通过这段代码,我得到了运行时错误424。 您知道如何使用内部工作表名称将工作表中的值输入组合框的下拉菜单吗

ComboBox1.RowSource = Sheet1.Name & "!A1:A4"
您还可以将范围添加为隐藏名称,以便自动更新未测试的范围:

ThisWorkbook.Names.Add Name:="myName", RefersTo:="=Sheet1!A1:A4", Visible:=False
然后在UserForm中:

ComboBox1.RowSource = "myName"