Microsoft Excel

Herbers Excel/VBA-Archiv

Makro in externer starten - Laufzeitfehler 1004


Betrifft: Makro in externer starten - Laufzeitfehler 1004 von: Sascha
Geschrieben am: 22.01.2018 22:54:30

Guten Abend allerseits.
Ich könnte ein wenig Hilfe gebrauchen. Ich verzweifle seit 3 Tagen daran ein Makro zu starten aus einer anderen datei heraus. Ich bin Anfänger und vermute ein Syntaxproblem bzw. irgendeine Regel oder Pfadanweisungsvorschrift, die nicht beachtet wird.

Problem:
1b.xlsm soll 2b.xlsm öffnen und das darin liegende Modul1 starten.

Das Makro manuelll starten klappt problemlos.Auch das Öffnen der Datei klappt.
Die Maros werden in der Makroübersicht als "in allen offenen Mappen verfügbar " angezeigt. Soweit so gut.

Ich habe zig Varianten geprobt um das Makro zu starten, allerdings jedes Mal der Fehler:
"Laufzeitfehler 1004 - Makro kann nicht ausgeführt werden. Vermutlich ist es nicht verfügbar etc."

Habe alle Officeeinstellungen bezüglich Macroausführung etc. eingestellt.
Neuinstallation.
Auch die Verfügbarkeit über personl.xls ist ausprobiert worden.

Folgender Code wird simpler weise genutzt:

Sub xyz()
Dim sFile As String
sFile = "o:\2b.xlsm"
Workbooks.Open sFile ' Datei 2b.xlsm öffnen klappt wunderbar!!!
Application.Run sFile & "!Modul1.Auswertung" ' über Application.Run versucht _irgendein Makro   _
_
zu starten. 

End Sub



Ein paar Codeschnipsel inkl. kompletten Pfad bis zur SubProzedure wären sinnvoll
zum Ausprobieren.Bevor ich vergesse: Habe die Sup Prozeduren auch schon als public declariert - ohne Erfolg. Danke für eure Hilfe.

  

Betrifft: AW: Makro in externer starten - Laufzeitfehler 1004 von: fcs
Geschrieben am: 23.01.2018 03:14:02

Hallo Sascha,

Problem: der Dateiname fängt mit einer Ziffer an.
Deshalb muss der Dateiname in Hockommata gesetzt werden - gleiches gilt z.B. auch wenn der Dateiname oder Pfad Leerzeichen oder Sonderzeichen enthält.

Gruß
Franz

Sub xyz()
    Dim sFile As String
    Dim wkb2 As Workbook
    
    sFile = "o:\2b.xlsm"
    Set wkb2 = Workbooks.Open(sFile) ' Datei 2b.xlsm öffnen klappt wunderbar!!!
    
'    Application.Run "'2b.xlsm'!Auswertung" 'Per Makro-Rekorder aufgezeichnet

    Application.Run "'" & sFile & "'!Modul1.Auswertung"
'oder
    Application.Run "'" & wkb2.Name & "'!Modul1.Auswertung"
    
End Sub



Beiträge aus dem Excel-Forum zum Thema "Makro in externer starten - Laufzeitfehler 1004"