Laufzeitfehler im anderen Macro abfangen

Bild

Betrifft: Laufzeitfehler im anderen Macro abfangen
von: Vilen
Geschrieben am: 03.12.2015 17:23:56

Guten Abend zusammen,
wie ich bereits mehrfach schrieb, habe ich ein Makro geschrieben, welches Arbeitsmappen öffnet, abspeichert und schließt. Mit dem Öffnen der erwähnten Arbeitsmappen starten in diesen ebenfalls Makros. Sollte es dabei zu einem Laufzeitfehler kommen, so würde ja mein ursprüngliches Macro nicht weiter laufen. Mit dem Befehl On Error Resume Next kann ich ja nicht arbeiten, da der Fehler im anderen Makro vorkommt.
Wie kann ich es so einrichten, dass im Falle eines Laufzeitfehlers keine Fehlermeldung kommt und somit mein Makro unterbrochen wird?
Dankeschön und einen schönen Abend Euch!
Vilen

Bild

Betrifft: AW: Laufzeitfehler im anderen Macro abfangen
von: Daniel
Geschrieben am: 03.12.2015 18:03:08
HI
schwierig.
müssen diese automatischen Makros unbedingt laufen oder würde das ganze auch laufen, wenn diese nicht ausgeführt werden?
wenn die Ausführung dieser Automatischen Makros (vermutlich das Workbook.Open-Event) nicht erforderlich ist, kannst du diese mit dem Befehl:

Application.EnableEvents = False
verhindern.
Nach diesem Befehl werden keine Eventmakros und damit auch die automatisch laufenden Makros beim Öffnen der Dateien nicht mehr ausgeführt.
Damit kann dann der Fehler nicht mehr auftreten.
dass du am Ende deines Makros den Befehl
application.EnableEvents = True
ausführen musst, um die Eventmakros wieder zu aktivieren, denn hier bleibt die zuletzt gemachte Einstellung nach Makroende erhalten!
Wenn diese Makros jedeoch ausgeführt werden sollen, sehe ich nur die Möglichkeit, dass du diese Makros nochmal überarbeitest, so dass es nicht mehr zum Fehlerabbruch kommt.
Gruss Daniel

Bild

Betrifft: AW: Laufzeitfehler im anderen Macro abfangen
von: Vilen
Geschrieben am: 03.12.2015 18:30:43
Hallo Daniel,
vielen Dank für Deine schnelle Antwort! Du hast Recht, sie werden mit dem Workbook.Open-Event ausgeführt, was leider für meine Zwecke unabdingbar ist. Ich habe in diese Makros zwar die Fehlerbehandlung eingebaut, bin mir aber nicht sicher, ob das alles so klappt und ich alle Eventualitäten berücksichtigt habe. Naja, ich hoffe dann, dass es so ist.
Vilen

Bild

Betrifft: Daniels Vorschlag
von: Michael
Geschrieben am: 03.12.2015 21:54:14
Hi zusammen,
Daniels Lösung ist doch gar nicht verkehrt, denn Du hast ja das Workbook.Open selbst programmiert.
Ich nehme an, daß das insbesondere dann ausgeführt werden soll, wenn andere Personen mit den Datein arbeiten.
Nur: wenn Du selbst dransitzt, kannst Du exakt das, was im Open-Event gemacht wird, von Deiner vorhandenen Datei aus ja auch machen (simpelstenfalls durch schlichtes Kopieren und Umbenennen in eine "normale" Sub), und da *hast* Du ja die Kontrolle.
Ist zwar doppelt gemoppelt, aber wenn das Makro steht und sich nicht mehr laufend ändert...
Schöne Grüße,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Laufzeitfehler im anderen Macro abfangen"