从另一个文件调用macros时出错

“对象不支持这个属性或方法”

是我正在尝试从当前文件调用另一个macros的错误。 我正在循环几个Excel工作簿,并需要在我正在循环的文件中运行一个macros。

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")我试着包含完整path的Application.Run ("'" & FO_CalcName_Range & "'!ReApplyDump")
我也试过没有运气: Application.Run ("'" & wBCalc & "'!ReApplyDump")我有这个工作,但不能得到它为我的生活工作。 任何帮助表示赞赏。

问题是wbCalc是一个工作簿,而不是一个string。 因此,你正在尝试连接没有意义。

更换

 Application.Run (wBCalc & "!FilterLoop") 

通过

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

没有访问FilterLoop的代码,我无法testing这个,尽pipe它应该让你更接近你的目标。