如何在另一个工作簿中的各个单元格上填充用户上的列表框



我当前正在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

最新更新