与内部工作表名称的combobox的值
我有一个Excel电子表格,我想应用一个combobox。 combobox下拉列表的值显示在Excel表格的A列中:
A 1 Test 1 2 Test 2 3 Test 3 4 Test 4
到目前为止,我使用下面的代码为combobox:
Private Sub UserForm_Initialize() ComboBox1.RowSource = "Sheet1!A1:A4" End Sub
此代码完美工作。 但是,当我将工作表的名称从“Sheet1”更改为“Marketing”时,代码将不再运行。 因此,代码应该引用Excel中的内部工作表名称。 因此我创build了以下代码:
Private Sub UserForm_Initialize() ComboBox1.RowSource = Sheet1.Range("A1:A4") End Sub
但是,使用此代码我得到运行时错误424.你有任何想法如何使用内部工作表名称来获取工作表中的值到combobox的下拉菜单?
ComboBox1.RowSource = Sheet1.Name & "!A1:A4"
您也可以将范围添加为隐藏的名称,以便自动更新(未testing):
ThisWorkbook.Names.Add Name:="myName", RefersTo:="=Sheet1!A1:A4", Visible:=False
然后在UserForm中:
ComboBox1.RowSource = "myName"