2017-08-02 59 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文件」 –

相關問題