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

Forumthread: Problem mit Application.Run

Problem mit Application.Run
28.05.2019 12:24:14
Peter
Hallo ihr Excelspezialisten,
ich habe ein umfangreiches Makro. Es sind zwei Dateien offen. Eine Datei davon wurde mit folgendem Code geöffnet:
Application.EnableEvents = False
Workbooks.Open tFolderLfd & tFileLfd
Application.EnableEvents = True
Die Application.Run "Postwertzeichen_Laufend_ab_2019!Workbook_oeffnen" bringt folgende Fehlermeldung 1004 das Makro... kann nicht ausgeführt werden. Das Makro ist möglicher-weise in dieser Mappe nicht verfügbar oder alle Makros sind deativiert.
Wo kann bitte die Ursache liegen?
Wenn ich die bereits geöffnete Datei mittels workbook.open öffne wird die Userform nicht geöffnet.
Danke für eure Hilfe
Gruss
Peter
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Application.Run
28.05.2019 12:30:34
Rudi
Hallo,
Application.Run "Postwertzeichen_Laufend_ab_2019.xlsm!Workbook_oeffnen"
Gruß
Rudi
AW: Problem mit Application.Run
28.05.2019 12:51:21
Peter
Hallo Rudi,
Du hast Recht - aber ich hatte nur einen Schreibfehler.
Es geht auch nicht mit .xlsm
Gruss
Peter
AW: Problem mit Application.Run
28.05.2019 12:55:39
Torsten
vermute, das zu startende Makro ist in der per Makro geoeffneten Datei?
Dann so?
Application.Run tFileLfd & "!Workbook_oeffnen"
Gruss Torsten
Anzeige
AW: Problem mit Application.Run
28.05.2019 14:36:28
Peter
Hallo Torsten,
besten Dank für Deine Hilfe es funktioniert. Es waren Probleme beim Speichern vorhanden.
Auch an die die Frage, da beim Öffnen der Datei mit Application.EnabledEvent=False keine Makros ausge-führt werden - wie kann Datei geöffnet werden aber ein bestimmtes Makro nicht gestartet wird?
Besten Dank
Gruss
Peter
Anzeige
AW: Problem mit Application.Run
28.05.2019 20:31:45
Piet
Hallo
wenn es um das AUTO OPEN Makro geht habe ich noch eine uralte Excel 97 Methode im Angebot.
Probier es bitte mal selbst aus. Den Code dazu findest du unten.
mfg Piet
Sub Makro2()
'Datei Öfnneen  MIT  Auto Open
Workbooks.Open(Filename:="E:\_Excel Heute\Auto Open Test.xls").RunAutoMacros Which:= _
xlAutoOpen
'Datei Öfnneen  OHNE  Auto Open
Workbooks.Open Filename:="E:\_Excel Heute\Auto Open Test.xls"
End Sub

Anzeige
AW: Problem mit Application.Run
28.05.2019 14:33:53
Peter
Hallo Rudi,
es funktioniert.
Ich habe jedoch in diesem Zusammenhang noch folgendes Problem. Beim Öffnen der Datei werden durch
Application.EnableEvents=False alle Makro nicht ausgeführt.
Gibt es eine Möglichkeit, dass die Datei geöffnet wird aber ein bestimmtes Makro nicht ausgeführt wird?
Besten Dank für die Hilfe.
Gruss
Peter
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Problem mit Application.Run in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Makro vorbereiten: Stelle sicher, dass das Makro, das du ausführen möchtest, in der richtigen Arbeitsmappe gespeichert ist. Die Syntax für Application.Run ist wichtig, um Fehler zu vermeiden.

  2. Anwendungsevents aktivieren: Deaktiviere und aktiviere die Ereignisse mit folgendem Code:

    Application.EnableEvents = False
    ' Dein Code hier
    Application.EnableEvents = True
  3. Makro ausführen: Verwende Application.Run wie folgt:

    Application.Run "DeineMappe.xlsm!DeinMakro"
  4. Fehlermeldungen überprüfen: Achte darauf, dass die Fehlermeldung „das makro kann nicht ausgeführt werden“ nicht auf deaktivierte Makros oder einen Schreibfehler in der Syntax hindeutet.


Häufige Fehler und Lösungen

  • Fehler 1004: Tritt auf, wenn das Makro nicht gefunden wird. Überprüfe den Namen der Arbeitsmappe und das Makro. Es könnte auch sein, dass die Datei nicht geöffnet ist.

  • Makros deaktiviert: Stelle sicher, dass in den Excel-Einstellungen die Makros aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen.

  • Falsche Syntax: Achte darauf, dass du den korrekten Pfad und den richtigen Namen der Datei verwendest. Die Syntax sollte so aussehen:

    Application.Run "Postwertzeichen_Laufend_ab_2019.xlsm!Workbook_oeffnen"

Alternative Methoden

  • Makro durch Auto-Open: Du kannst ein Makro beim Öffnen einer Datei automatisch ausführen lassen. Hier ein Beispiel:

    Workbooks.Open Filename:="E:\_Excel Heute\Auto Open Test.xls"
  • Direktes Ausführen ohne Application.Run: Wenn du direkt auf das Makro zugreifen kannst, vermeide Application.Run und rufe das Makro direkt auf:

    Workbook_oeffnen

Praktische Beispiele

  1. Öffnen einer Datei mit Makro:

    Sub Beispiel()
       Application.EnableEvents = False
       Workbooks.Open "E:\Pfad\zu\deiner\Datei.xlsm"
       Application.Run "Dateiname.xlsm!MakroName"
       Application.EnableEvents = True
    End Sub
  2. Verwendung von Application.Run:

    Sub RunMakro()
       Application.Run "Postwertzeichen_Laufend_ab_2019.xlsm!Workbook_oeffnen"
    End Sub

Tipps für Profis

  • Debugging: Nutze die Debugging-Tools von VBA, um zu überprüfen, ob das Makro an der richtigen Stelle aufgerufen wird. Setze Haltepunkte, um sicherzustellen, dass dein Code den erwarteten Verlauf nimmt.

  • Verwende Option Explicit: Setze am Anfang deines Moduls Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.

  • Dokumentation: Halte deine Makros gut dokumentiert, damit du beim Aufruf von Application.Run schnell erkennst, welches Makro in welcher Mappe enthalten ist.


FAQ: Häufige Fragen

1. Warum kann ich mein Makro nicht ausführen?
Es könnte daran liegen, dass die Datei nicht geöffnet ist oder dass die Makros in Excel deaktiviert sind. Überprüfe, ob die Datei korrekt geladen wurde.

2. Wie kann ich sicherstellen, dass ein bestimmtes Makro nicht ausgeführt wird?
Du kannst die Ereignisse vorübergehend deaktivieren, indem du Application.EnableEvents = False verwendest, bevor du die Datei öffnest. Beachte, dass andere Makros ebenfalls nicht ausgeführt werden, solange diese Einstellung aktiv ist.

3. Was ist der Unterschied zwischen Application.Run und dem direkten Aufruf eines Makros?
Application.Run ist nützlich, wenn du ein Makro aus einer anderen Arbeitsmappe aufrufen möchtest, während du mit dem direkten Aufruf sicherstellen kannst, dass das Makro in der aktuellen Arbeitsmappe läuft.

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