我目前正在构建用户表单在excel vba中,我想填充我的一个列表框。我不能让它从另一个工作簿中的一系列单元格中填充?工作簿参考和工作表名称是正确的,我从工作代码中复制并测试它。我尝试将私有子设置为公共但我得到相同的结果
Private Sub UserForm_Initialize()
Shop_UserForm_ClockIn_Listbox_EmployeeName.List = Workbooks("hub.xlsb").Sheets("EmployeeNames").Range("f2").value
End Sub
这是错误消息
运行时错误'381', 无法设置List属性。无效的属性数组索引
答案 0 :(得分:0)
您的代码崩溃了,因为您尝试将单个值分配给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