如何从另一个工作簿中的一系列单元格填充用户的列表框?
How Do I populate a list box on a user from a range of cells in another workbook?
我目前正在 excel vba 中构建一个用户表单,我想填充我的一个列表框。我无法从另一个工作簿中的一系列单元格中填充它?工作簿参考和 sheet 名称是正确的,我从工作代码中复制并测试了它。我尝试将私人子设置为 public 但我得到相同的结果
Private Sub UserForm_Initialize()
Shop_UserForm_ClockIn_Listbox_EmployeeName.List = Workbooks("hub.xlsb").Sheets("EmployeeNames").Range("f2").value
End Sub
这是错误信息
运行-时间错误'381',
无法设置列表 属性。无效 属性 数组索引
您的代码正在崩溃,因为您试图将单个值分配给 List
。
这可行:
Private Sub UserForm_Initialize()
Shop_UserForm_ClockIn_Listbox_EmployeeName.List = Workbooks("hub.xlsb").Sheets("EmployeeNames").Range("f2:f3").value
End Sub
因为它正在分配一个值数组。
如果您真的只想将 List
设置为单个值,您可以执行以下任一操作:
Private Sub UserForm_Initialize()
Shop_UserForm_ClockIn_Listbox_EmployeeName.List = Array(Workbooks("hub.xlsb").Sheets("EmployeeNames").Range("f2").value)
End Sub
或
Private Sub UserForm_Initialize()
Shop_UserForm_ClockIn_Listbox_EmployeeName.AddItem Workbooks("hub.xlsb").Sheets("EmployeeNames").Range("f2").value
End Sub
我目前正在 excel vba 中构建一个用户表单,我想填充我的一个列表框。我无法从另一个工作簿中的一系列单元格中填充它?工作簿参考和 sheet 名称是正确的,我从工作代码中复制并测试了它。我尝试将私人子设置为 public 但我得到相同的结果
Private Sub UserForm_Initialize()
Shop_UserForm_ClockIn_Listbox_EmployeeName.List = Workbooks("hub.xlsb").Sheets("EmployeeNames").Range("f2").value
End Sub
这是错误信息
运行-时间错误'381', 无法设置列表 属性。无效 属性 数组索引
您的代码正在崩溃,因为您试图将单个值分配给 List
。
这可行:
Private Sub UserForm_Initialize()
Shop_UserForm_ClockIn_Listbox_EmployeeName.List = Workbooks("hub.xlsb").Sheets("EmployeeNames").Range("f2:f3").value
End Sub
因为它正在分配一个值数组。
如果您真的只想将 List
设置为单个值,您可以执行以下任一操作:
Private Sub UserForm_Initialize()
Shop_UserForm_ClockIn_Listbox_EmployeeName.List = Array(Workbooks("hub.xlsb").Sheets("EmployeeNames").Range("f2").value)
End Sub
或
Private Sub UserForm_Initialize()
Shop_UserForm_ClockIn_Listbox_EmployeeName.AddItem Workbooks("hub.xlsb").Sheets("EmployeeNames").Range("f2").value
End Sub