Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro in externer starten - Laufzeitfehler 1004

Makro in externer starten - Laufzeitfehler 1004
22.01.2018 22:54:30
Sascha
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.
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro in externer starten - Laufzeitfehler 1004
23.01.2018 03:14:02
fcs
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

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Makro in externer Datei starten und Laufzeitfehler 1004 beheben


Schritt-für-Schritt-Anleitung

Um ein Makro in einer externen Datei zu starten und den Laufzeitfehler 1004 zu vermeiden, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne die externe Datei: Stelle sicher, dass die Datei, die das Makro enthält, korrekt geöffnet wird.

  2. Verwende den richtigen Code: Hier ist ein Beispielcode, der dir helfen kann:

    Sub xyz()
       Dim sFile As String
       Dim wkb2 As Workbook
       sFile = "o:\2b.xlsm"
       Set wkb2 = Workbooks.Open(sFile) ' Datei 2b.xlsm öffnen
       Application.Run "'" & sFile & "'!Modul1.Auswertung" ' Makro ausführen
    End Sub
  3. Korrekte Syntax: Achte darauf, dass der Dateiname in Hochkommas gesetzt wird, besonders wenn er mit einer Ziffer beginnt oder Leerzeichen enthält.

  4. Makro überprüfen: Vergewissere dich, dass das Makro in der richtigen Arbeitsmappe (z.B. Modul1) vorhanden ist und als Public deklariert ist.


Häufige Fehler und Lösungen

Beim Arbeiten mit Makros in externen Dateien können folgende Fehler auftreten:

  • Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn das Makro nicht verfügbar ist oder die Syntax nicht korrekt ist. Überprüfe, ob der Name des Makros korrekt eingegeben wurde und dass es sich tatsächlich in der externen Datei befindet.

  • Das Makro ist möglicherweise in dieser Arbeitsmappe nicht verfügbar: Dies kann passieren, wenn das Makro nicht als Public deklariert ist oder in einem anderen Modul liegt.

Um diese Fehler zu beheben, stelle sicher, dass du die korrekte Syntax verwendest und alle erforderlichen Module in der externen Datei vorhanden sind.


Alternative Methoden

Eine alternative Methode, um ein Makro in einer externen Datei zu starten, besteht darin, den Code über die Workbook-Objekte zu verwenden:

Sub xyz_alt()
    Dim sFile As String
    Dim wkb2 As Workbook
    sFile = "o:\2b.xlsm"
    Set wkb2 = Workbooks.Open(sFile)
    Application.Run "'" & wkb2.Name & "'!Modul1.Auswertung"
End Sub

Diese Methode verwendet den Namen des geöffneten Arbeitsbuchs, wodurch es weniger anfällig für Syntaxfehler ist.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du ein Makro in einer externen Datei starten kannst:

  1. Beispiel mit einfachem Makro:

    Sub StartExternesMakro()
       Dim sFile As String
       sFile = "o:\2b.xlsm"
       Workbooks.Open sFile
       Application.Run "'" & sFile & "'!Modul1.Auswertung"
    End Sub
  2. Beispiel mit Fehlerbehandlung:

    Sub SicheresStarten()
       On Error GoTo Fehlerbehandlung
       Dim sFile As String
       sFile = "o:\2b.xlsm"
       Workbooks.Open sFile
       Application.Run "'" & sFile & "'!Modul1.Auswertung"
       Exit Sub
    
    Fehlerbehandlung:
       MsgBox "Fehler: " & Err.Description
    End Sub

Tipps für Profis

Hier sind einige Tipps, um effizient mit Makros in Excel zu arbeiten:

  • Dokumentiere deinen Code: Verwende Kommentare, um den Code verständlicher zu machen, insbesondere wenn du mit mehreren Benutzern arbeitest.

  • Verwende Fehlermeldungen: Implementiere Fehlermeldungen in deinem Code, um die Fehlersuche zu erleichtern.

  • Teste deinen Code regelmäßig: Teste jede Funktion einzeln, um sicherzustellen, dass alles wie gewünscht funktioniert, bevor du die gesamte Anwendung ausführst.


FAQ: Häufige Fragen

1. Warum tritt der Laufzeitfehler 1004 auf?
Der Laufzeitfehler 1004 tritt auf, wenn das Makro nicht gefunden werden kann oder die Syntax nicht korrekt ist. Überprüfe den Namen des Makros und die Syntax.

2. Wie kann ich sicherstellen, dass mein Makro verfügbar ist?
Stelle sicher, dass das Makro als Public deklariert ist und dass der Dateiname korrekt angegeben ist, einschließlich der Hochkommas, wenn nötig.

3. Was sind die häufigsten Ursachen für den Fehler "Das Makro kann nicht ausgeführt werden"?
Die häufigsten Ursachen sind eine falsche Syntax, das Fehlen des Makros in der angegebenen Datei oder unzureichende Berechtigungen in Excel.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige