2017-08-02 63 views
0

我有2个excel文件和主excel文件我有2个comboBox元素,其中一个应该从另一个工作表和另一个工作簿中填充,当我尝试填充时此组合框通过使用来自另一个工作簿这样填充ComboBox时无效的过程调用或参数vba

Private Sub Worksheet_Activate() 
    ThisWorkbook.Sheets("Master").ComboBox23.List = Sheets("Modification").Range("C2:C55").Value 
    ThisWorkbook.Sheets("Master").ComboBox24.List = GetObject(ThisWorkbook.Path & "\resourcetracker.xls").Sheets("Resources").Range("A2:A22").Value 
End Sub 

数据我可以从主excel文件另一个工作表中获取数据,但线在那里我打开另一个工作簿给我一个错误

无效的过程调用或参数(运行时错误5)

有人可以帮助理解我做错了什么吗? 感谢

回答

0

GetObject不打开另一个WorkBook

试试这个正确的方式,而不是

Public Sub Worksheet_Activate() 
    Dim wb As Workbook 
    ThisWorkbook.Sheets("Master").ComboBox23.List = Sheets("Modification").Range("C2:C55").Value 
    Set wb = Workbooks.Add(ThisWorkbook.Path & "\resourcetracker.xls") 
    ThisWorkbook.Sheets("Master").ComboBox24.List = wb.Sheets("Resources").Range("A2:A22").Value 
    wb.Close False 
End Sub 
+0

这种方式给了我另一个错误 - 运行时错误1004“应用程序定义或对象定义的错误”在“Set wb ...”的时刻 –

+0

在它之前添加它 - “Debug.Print ThisWorkbook.Path&”\ resourcetracker.xls“'然后看看你的调试窗口。该文件是否存在于该位置? – braX

+0

这很有趣;我有这两个文件在一个文件夹〜“C:\用户\用户1 \ Documents \ Excel文件\”和我的想法ThisWorkbook.Path只是为了节省时间,如果文件将被移动;在我用完整地址代替它之后,所有的工作都可以使用;和ThisWorkbook.Path完全返回此部分“C:\ Users \ User1 \ Documents \ Excel文件” –

相关问题