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

VBA: "Datei nicht gefunden" überspringen

Forumthread: VBA: "Datei nicht gefunden" überspringen

VBA: "Datei nicht gefunden" überspringen
20.06.2002 11:08:56
Russi
Moin moin!

Ich benötige mal wieder Hilfe bei einem (für Euch Spezis sicherlich nur kleinen) Problemchen:

Ich rufe aus einem VBA-Makro per

Workbooks.Open FileName:="blabla.xls"

eine weitere Datei auf.

Sollte diese Datei nicht gefunden werden, wird die Ausführung des Makros gestoppt. Ich möchte aber, daß der Rest des Makros weiter abgearbeitet und der Fehler einfach übergangen wird.

Hat jemand von Euch eine Idee?


Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: VBA: "Datei nicht gefunden" überspringen
20.06.2002 11:18:13
Michael Schefffler
Hallo,

wenn Du einfach weitermachen möchtest, dann einfach:

Gruß

Micha

Re: VBA: "Datei nicht gefunden" überspringen
20.06.2002 11:19:21
Frederik
Dann schreibe zu Anfang deines Makros :
On Error Resume next

Gruß
Frederik

Dir
20.06.2002 11:19:42
mathias r.
Prüfe mit dem Dir Befehl ob die Datei existiert:


Anzeige
Re: VBA: "Datei nicht gefunden" überspringen
20.06.2002 11:21:09
Timo
Hallo!

Versuche das hier:

So sollte es funzen!

Viel Erfolg
Timo

Denk anstoß
20.06.2002 11:24:37
JEns
Such mal im Archiv nach error handler!

Ander Idee:

Prüfe mit Fileexist ob datei vorhanden ist (auch im Archiv)!

https://www.herber.de/forum/archiv/60to64/t60726.htm
https://www.herber.de/mailing/111400h.htm

Vieleicht hilft dir das weiter

Anzeige
Danke Euch allen!!!
20.06.2002 11:24:49
Russi
es funzt...
Geht doch nicht...
20.06.2002 11:45:13
Russi
Einerseits war der Befehl

On Error Resume next

erfolgreich, ich erhalte keine Fehlermeldung mehr. Leider wird mein Makro aber komplett abgebrochen und nicht weiter ausgeführt. Was habe ich da falsch gemacht?

Re: Geht doch nicht...
20.06.2002 12:08:36
Timo
Also bei mir gehts??

Sollte dir eigentlichne MsgBox mit dem Wert 55 auswerfen. Was ja nicht der Fall wäre, wenn das Makro abbrechen würde.

Gruss
Timo

Anzeige
Re: Geht doch nicht...
20.06.2002 12:22:46
Russi
Hallo Timo!

Liegt mein "Fehler" vielleicht darin, daß mein Makro keine Schleifen enthält?!?

Mein Makro wird stur von oben nach unten abgearbeitet, und dabei wird auf verschiedene Dateien zugegriffen.

Nee, eigentlich nicht...
20.06.2002 12:25:27
Timo
...ich verstehe das nicht so ganz. Versuch doch mal das Makro im Editor mit F8 zeilenweise zu durchlaufen, dann kann man immer ganz gut sehen, wo was schiefläuft. Mehr fällt mir sonst auch nicht ein. An den Schleifen liegt es definitiv nicht!

Gruss
Timo

Anzeige
Ich habs!
20.06.2002 12:36:43
Russi
Sorry, der Fehler lag woanders.
Ich habe jeweils auch "ActiveWindow.Close"-Befehle drin.
Dadurch wird natürlich die Datei mit dem Makro geschlossen, wenn keine andere geöffnet wurde.

Aber der Tip mit war gut! Danke Dir!

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

VBA-Fehlerbehandlung: "Datei nicht gefunden" überspringen


Schritt-für-Schritt-Anleitung

  1. Öffne dein VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
  2. Füge den Befehl zur Fehlerbehandlung hinzu: Am Anfang deines Makros solltest du den Befehl On Error Resume Next einfügen. Dieser Befehl sorgt dafür, dass Excel bei einem Fehler nicht stoppt, sondern einfach zum nächsten Befehl übergeht.

    Beispiel:

    Sub MeinMakro()
       On Error Resume Next
       Workbooks.Open FileName:="blabla.xls"
       ' Weiterer Code
    End Sub
  3. Prüfe, ob die Datei existiert: Um sicherzustellen, dass dein Makro nicht einfach ohne Grund weiterläuft, kannst du mit dem Dir-Befehl überprüfen, ob die Datei vorhanden ist.

    Beispiel:

    If Dir("blabla.xls") <> "" Then
       Workbooks.Open FileName:="blabla.xls"
    Else
       MsgBox "Datei nicht gefunden!"
    End If

Häufige Fehler und Lösungen

  • Laufzeitfehler 53: Datei nicht gefunden: Dieser Fehler tritt auf, wenn eine Datei, die du öffnen möchtest, nicht existiert. Stelle sicher, dass der Pfad und der Dateiname korrekt sind.
  • Makro wird nicht fortgesetzt: Wenn dein Makro trotz On Error Resume Next nicht fortgesetzt wird, könnte dies daran liegen, dass der Fehler nicht vom Open-Befehl kommt. Überprüfe deine Schleifen und andere Befehle.

Alternative Methoden

  • Fehlerbehandlung mit On Error GoTo: Statt On Error Resume Next kannst du auch On Error GoTo [Label] verwenden, um spezifische Fehlerbehandlungen zu definieren. Damit kannst du gezielte Anweisungen für den Fall eines Fehlers bereitstellen.

    Beispiel:

    Sub MeinMakro()
       On Error GoTo FehlerHandler
       Workbooks.Open FileName:="blabla.xls"
       Exit Sub
    
    FehlerHandler:
       MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
    End Sub

Praktische Beispiele

  • Ein einfaches Makro:
    Sub BeispielMakro()
       On Error Resume Next
       Workbooks.Open FileName:="C:\MeinPfad\blabla.xls"
       If Err.Number <> 0 Then
           MsgBox "Fehler aufgetreten: " & Err.Description
       End If
    End Sub
  • Verwendung von FileExists: Du kannst auch eine Funktion erstellen, die überprüft, ob eine Datei existiert, bevor du versuchst, sie zu öffnen.
    Function FileExists(filePath As String) As Boolean
       FileExists = (Dir(filePath) <> "")
    End Function

Tipps für Profis

  • Verwende Debug.Print: Um den Fortschritt deines Makros zu verfolgen, kannst du Debug.Print verwenden, um Statusmeldungen im Direktfenster anzuzeigen.
  • Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung, um alle auftretenden Fehler zu dokumentieren. So kannst du später besser nachvollziehen, was schiefgelaufen ist.

FAQ: Häufige Fragen

1. Was bedeutet "Laufzeitfehler 53"?
Dieser Fehler tritt auf, wenn eine Datei, die du mit VBA öffnen möchtest, nicht gefunden wird. Vergewissere dich, dass der Pfad und der Dateiname korrekt sind.

2. Wie kann ich Fehler in meinem Makro ignorieren?
Du kannst On Error Resume Next verwenden, um bei Fehlern die Ausführung des Makros fortzusetzen. Beachte, dass dies auch andere Fehler ignoriert.

3. Warum funktioniert On Error Resume Next nicht bei mir?
Stelle sicher, dass der Fehler nicht von einem anderen Befehl im Makro verursacht wird. Überprüfe auch, ob dein Makro korrekt strukturiert ist.

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