On Error funktioniert nur einmal

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: On Error funktioniert nur einmal
von: Werner
Geschrieben am: 22.02.2005 13:39:45
Hallo,
ich verwende zum Abfangen von Fehlern die Anweisung "On Error GoTo Bei_Fehler".
Ich habe zum Testen absichtlich einen Fehler eingebaut (unverträgliche Typen), dann springt Excel auch zu Bei_Fehler.
Aber sobald der nächste Fehler kommt, bricht Excel mit der Meldung "Typen unverträglich (Beenden oder Debuggen)" ab!
Ich habe bei Bei_Fehler auch Err.Clear verwendet.
Warum geht On Error nur das 1.Mal ?
Danke!
Werner.

Bild

Betrifft: AW: On Error funktioniert nur einmal
von: Anton
Geschrieben am: 22.02.2005 13:51:30
Servus Werner,
versuch's mal mit "option exclicit"
Hat mir bei ähnlicher Situation gut geholfen.
(Aber was erzähle ich einem VBA-Könner....)
Gruss
Anton
Bild

Betrifft: AW: On Error funktioniert nur einmal
von: Werner
Geschrieben am: 22.02.2005 13:56:46
Hallo Anton!
Das Option Explicit hab ich immer eingebaut!
Bild

Betrifft: AW: On Error funktioniert nur einmal
von: EtoPHG
Geschrieben am: 22.02.2005 14:00:20
Hallo Anton,
Steht in Deiner Routine ein Resume Next ? oder was.
Sonst poste mal den Code/Blatt
Gruss Hansueli
Bild

Betrifft: AW: On Error funktioniert nur einmal
von: Werner
Geschrieben am: 22.02.2005 14:08:43
Hallo Hansueli,
nein, aber ich verwende das in einer Do While-Loop-Schleife (beim Einlesen einer Datei):
Do While EOF(1)
On Error GoTo Bei_Fehler
Line Input #1, textzeile
(hier lese ich die Felder ein, und verwende zum Fehlertest extra falsche Typen,
also String statt Integer, damit er zu Bei_Fehler springt)
Bei_Fehler:
Err.Clear
MsgBox ...
Loop
Gruß Werner.
Bild

Betrifft: AW: On Error funktioniert nur einmal
von: Klausi
Geschrieben am: 22.02.2005 14:18:47
Hi Werner,
Setze man On Error GoTo 0
vor das On Error Goto Bei_Fehler
Ich habe es nicht ausprobiert, muesste aber klappen.
Was definitiv klappt ist:
Err.Clear
On Error Resume Next ' to catch/avoid an mysterious type mismatch error
...
Dein Einlesen
...
If Err.Number Then
Sh.Range("N" & CStr(i)).NoteText "Error while calculating"
End If
Hat zumindest bei mir geklappt.
Ciao
Klausi
Bild

Betrifft: AW: On Error funktioniert nur einmal
von: EtoPHG
Geschrieben am: 22.02.2005 14:22:17
Hallo Werner,
Das funktioniert anders

Sub x()
On Error GoTo Bei_Fehler
While 
  Deine CodeZeilen
Loop
  Exit sub
Bei_Fehler:
   Msgbox ...
   Err.Clear
   Resume Next
End Sub

Gruss Hansueli
Bild

Betrifft: AW: On Error funktioniert nur einmal
von: Werner
Geschrieben am: 22.02.2005 15:36:12
Hallo Klausi & Hansueli,
Danke für Eure Antworten!
Mit Resume hat es jetzt funktioniert!
 Bild

Beiträge aus den Excel-Beispielen zum Thema "On Error funktioniert nur einmal"