Supportnet / Forum / Tabellenkalkulation
fehlermeldung ignorieren
Frage
hallo leute!
ich habe ein makro geschrieben, in dem ich nacheinander dateien öffne und aus denen ich dann die jeweiligen daten kopiere.
die dateien rufe ich mit einer for..next-schleife auf.
es kommt aber vor, dass einzelne dateien nicht vorhanden sind. dann wird das makro beendet und ich bekomme die fehlermeldung "kann datei ... nicht öffnen".
wie kann ich diese fehlermeldung ignorieren und mein makro weiterlaufen lassen?
schon mal danke für eure bemühungen.
gruß
thomas
Antwort 1 von Guenter
Hallo Thomas,
eine Möglichkeit wäre, erst zu prüfen, ob die Datei vorhanden ist.
Das kann man mit der Dir-Funktion (siehe Excel VBA-Hilfe).
Ein einfaches Beispiel findest Du hier:
http://www.jumper.ch/excel_vba/138.htm
Vieleicht geht auch das Fehlerabfangen OnError Resume next.
Gruß
Günter
eine Möglichkeit wäre, erst zu prüfen, ob die Datei vorhanden ist.
Das kann man mit der Dir-Funktion (siehe Excel VBA-Hilfe).
Ein einfaches Beispiel findest Du hier:
http://www.jumper.ch/excel_vba/138.htm
Vieleicht geht auch das Fehlerabfangen OnError Resume next.
Gruß
Günter
Antwort 2 von nighty
hi alle :)
es bedarf keiner fehlerroutine,sollte man dennoch eine einsetzen,waere eine fehlerbehandlung von noeten.
hier eine variante ob eine benannte datei vorhanden ist :)
gruss nighty
es bedarf keiner fehlerroutine,sollte man dennoch eine einsetzen,waere eine fehlerbehandlung von noeten.
hier eine variante ob eine benannte datei vorhanden ist :)
gruss nighty
Sub Makro1()
Dim name1 As String
name1 = "test.txt"
With Application.FileSearch
.NewSearch
.LookIn = "c:\test"
.SearchSubFolders = True
.Filename = name1
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
Range("a2") = "datei vorhanden"
Else
Range("b2") = "datei nicht vorhanden"
End If
End With
End Sub
Antwort 3 von nighty
hi alle :)
datei nicht gefunden bedeutet fehlercode 1004
gruss nighty
datei nicht gefunden bedeutet fehlercode 1004
gruss nighty
If Err.Number = 1004 Then
mldg = "Fehler # " & Str(Err.Number) & " wurde ausgelöst von " _
& Err.Source & Chr(13) & Err.Description
MsgBox mldg, , "Fehler", Err.HelpFile, Err.HelpContext
Err.Clear
End If
Antwort 4 von thomas19801
tach zusammen!
danke für die vielen antworten!
das beispiel von günter hat mir schließlich weiter geholfen!
gruß
thomas
danke für die vielen antworten!
das beispiel von günter hat mir schließlich weiter geholfen!
gruß
thomas