我当前正在Excel VBA构建一个用户形式,我想填充我的列表框之一。我无法从另一个工作簿中的一系列单元格中填充它?工作簿的参考和表格名称是正确的,我从工作代码中复制并对其进行了测试。我尝试将私人潜艇设置为公共场所,但我得到了相同的结果
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