Ich muss 2 Arbeitsmappe Objekte verwenden, um eine zweite Sub in meinem Makro auszuführen. Es scheint jedoch immer einen ByRef-Fehler für das erste Blatt zu geben, das ich eingerichtet habe. Ich habe unten ein Beispiel vorgestellt. Definiere ich das Objekt falsch?ByRef Fehler beim Versuch, 2 Arbeitsmappen als Objekte zu verwenden
Sub test1()
Dim inputwb, outputwb As Workbook
'sets current workbook as inputwb
Set inputwb = ThisWorkbook '<---this sheet causes the ByRef error
'open 2nd workbook
Workbooks.Open (filepath & "\" & filename)
'sets 2nd workbook as outputwb
Set outputwb = ActiveWorkbook
'call next sub
Call test2(inputwb, outputwb)
End Sub
Sub test2(wb1 As Workbook, wb2 As Workbook)
MsgBox ("done!")
End Sub
Sie sollten erklären, ändern 'inputwb' ein' Workbook' eher als ein 'Variant' zu sein, das heißt' Wie Arbeitsmappe Dim inputwb, Ausgabewb als Arbeitsmappe'. – YowE3K
Verlassen Sie sich nicht auf ActiveWorkbook. Verwenden Sie 'Set outputwb = Workbooks.Open (Dateipfad &" \ "& Dateiname)' – ThunderFrame