如何将组合框列表从Excel预推到userform?

如何将组合框列表从Excel预推到userform?,excel,vba,userform,Excel,Vba,Userform,我想从excel中获取“名称列表”数据集,并将其用于Combobox用户表单。用户使用组合框中的下拉菜单选择名称 我的问题是,我不知道如何将“名称列表”数据集应用于组合框。名称列表的范围位于单元格C2:AU2中,其位于名为“DoNotPrint names”的工作表中。一旦用户选择了名称,我希望在单击“下一步”按钮时将其输出到“DoNotPrint Setup”工作表中的单元格 名称列表的屏幕截图部分: Userform的屏幕截图: 我尝试了下面的代码,该代码要求用户表单先转置“DoNo

我想从excel中获取“名称列表”数据集,并将其用于Combobox用户表单。用户使用组合框中的下拉菜单选择名称

我的问题是,我不知道如何将“名称列表”数据集应用于组合框。名称列表的范围位于单元格C2:AU2中,其位于名为“DoNotPrint names”的工作表中。一旦用户选择了名称,我希望在单击“下一步”按钮时将其输出到“DoNotPrint Setup”工作表中的单元格


名称列表的屏幕截图部分:


Userform的屏幕截图:

我尝试了下面的代码,该代码要求用户表单先转置“DoNotPrint-Names”工作表中的单元格,因为它是一行。我不知道以后该怎么办

Private Sub UserForm_Initialize()

    ComboBox1.List = WorksheetFunction.Transpose(DoNotPrint - Names.Range("C2:AU2"))

End Sub
选择您的列表并为其命名

范例

然后将该列表加载到您的
组合框1

代码示例


找到的解决方案附录

除了@0m3r的有效答案之外,您还可以使用数组方法将整个命名的水平列表指定给ComboBox的
.list
属性,以一行为单位:

Me.ComboBox1.List = Application.Transpose([myList]) 
编辑

或者,您可以使用控件的
.Column
属性,该属性似乎非常未知:

Me.ComboBox1.Column = [myList].Value 

UserForm\u activate()
上加载您的列表,对列表中的每个变量使用
如果其动态范围为
Me.ComboBox1.addItems Variant
@0m3r,您能给我一个示例说明您的意思吗?我不熟悉用户表单。谢谢一个简单的一行代码:
Me.ComboBox1.List=Application.Transpose([myList])
:-)Cool-post-aa-answer@T.M。
Me.ComboBox1.Column = [myList].Value