Makroaufruf in anderem Workbook mit Parameterübergabe
03.02.2026 12:17:12
UweO
Ich möchte zur einfacheren Pflege Makros ein einem Workbook zusammenfassen. Dieses Workbook heißt beispielshalber "Codes.xlsm".
Dort enthalten sind 2 Makros (ohne und mit Parameter):
Sub Test()
Debug.Print "Test gestartet, ohne Parameter"
End Sub
Sub TestPM(str_txt As String)
Debug.Print "TestPM gestartet, übergebener String: " & str_txt
End Sub
Wenn ich aus einem anderen Workbook heraus das erste Sub mit
Application.Run ("Codes.xlsm!Test")
aufrufe, wird es ausgeführt.
Anders beim Versuch des Aufrufes mit Parameterübergabe,
Application.Run ("Codes.xlsm!TestPM", "TestID")
ergibt aus einem Makro heraus aufgerufen entweder die Fehlermeldung "Erwartet:=" oder "Laufzeitfehler 1004 ... möglicherweise Arbeitsmappe nicht verfügbar ober Makros deaktiviert"
Dieselben Aufrufe im Direktfenster eingegeben, erhalte ich:
?Application.Run ("Codes.xlsm!Test")
Test gestartet, ohne Parameter
?Application.Run("Codes.xlsm!TestPM", "TestID")
TestPM gestartet, übergebener String: TestID
Die Makros werden also aus dem Direktfenster heraus aufgerufen und wie erwartet abgearbeitet, im Programmcode eines Makros aber nur, wenn keine Parameter mit übergeben werden.
Kennt jemand das Problem - und viel besser auch eine Lösung?
Link zur aufrufenden Datei (es geht leider nur eine hochzuladen): https://www.herber.de/bbs/user/180148.xlsm
Anzeige