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