2016-06-21 5 views
0

„Objekt nicht unterstützt diese Eigenschaft oder Methode“Fehler auf Makro aus einer anderen Datei aufrufen

ist der Fehler den ich versuche immer auf einem anderen Makro aus meiner aktuellen Datei aufrufen. Ich durchläuft mehrere Excel-Arbeitsmappen und muss ein Makro innerhalb der Dateien ausführen, die ich durchlaufe.

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 

Statt: Application.Run (wBCalc & "!FilterLoop") versuchte ich Application.Run ("'" & FO_CalcName_Range & "'!ReApplyDump"), die den vollständigen Pfad enthält.
Ich habe auch versucht, ohne Glück: Application.Run ("'" & wBCalc & "'!ReApplyDump") Ich hatte diese Arbeit vor, aber kann es nicht für das Leben von mir arbeiten. Jede Hilfe wird geschätzt.

+0

Danke für die Bearbeitung Tarzanbappa. Ich habe versucht, die Post so leserlich wie möglich zu bekommen, aber es sieht sauberer mit Ihrer Hilfe aus. – RRP

Antwort

1

Das Problem ist, dass wbCalc eine Arbeitsmappe und keine Zeichenfolge ist. Daher macht die Verkettung, die Sie versuchen, keinen Sinn.

ersetzen

Application.Run (wBCalc & "!FilterLoop") 

von

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

Ohne Zugriff auf den Code für FilterLoop, ich dies nicht testen kann, obwohl es sollten Sie näher an Ihr Ziel bekommen.

+0

Sie sind ein Rockstar Coleman. Perfekt gearbeitet. Vielen Dank. – RRP

Verwandte Themen