2016-06-21 24 views
0

「對象不支持此屬性或方法」錯誤調用宏從一個不同的文件

是我正在試圖從我目前的文件另一個宏調用錯誤。我循環了幾個excel工作簿,需要在我正在循環的文件中運行一個宏。

Sub SaveBacktestingFiles() 
    Dim wBCalc As Workbook 
    Dim wBRaw As Workbook 
    Dim wBRun As Workbook 

    For Each c In Worksheets("Static").Range("FILE_RANGE").Cells 
     Range("Date_Range").Value = c 
     Calculate 
     FS_Name = Range("FS_Name_Range").Value 
     FO_RawName = Range("FO_RawName_Range").Value 
     Set wBRun = ActiveWorkbook 
     Workbooks.Open Filename:=Range("FO_CalcName_Range").Value, ReadOnly:=True 
     Application.DisplayAlerts = False 
     ActiveWorkbook.SaveAs FS_Name 
     Set wBCalc = ActiveWorkbook 
     Application.Run (wBCalc & "!FilterLoop") 
     ActiveWorkbook.Close True 
    Next 
End Sub 

相反的:Application.Run (wBCalc & "!FilterLoop")我試過 Application.Run ("'" & FO_CalcName_Range & "'!ReApplyDump")其中包含完整路徑。
我也試過沒有運氣:Application.Run ("'" & wBCalc & "'!ReApplyDump")我以前有過這項工作,但無法讓它爲我的生活工作。任何幫助表示讚賞。

+0

感謝編輯tarzanbappa。我試圖讓帖子儘可能可讀,但在你的幫助下它看起來更乾淨。 – RRP

回答

1

問題是wbCalc是一個工作簿,而不是字符串。因此,你嘗試的連接並不合理。

更換

Application.Run (wBCalc & "!FilterLoop") 

通過

Application.Run (wBCalc.Name & "!FilterLoop") 

如果無法訪問您的代碼FilterLoop,我不能對此進行測試,但它應該讓你更接近你的目標。

+0

你是一個搖滾明星科爾曼。工作完美。謝謝。 – RRP

相關問題