Autor: Peter Haserodt  --- Aus Excel VBA - Gruppe: Tutorials

Fehlerbehandlung (2) - Resume (Sprungmarke) Resume Next

Autor: Peter Haserodt - Erstellt: --      - Letzte Revision: --Gruppenthema: 7 Folgen 1 2 3 4 5 6 7 Sie sind in Folge:3
Wichtiger Hinweis:
Dies ist ein Teil des Fehlerbehandlungs Tutorials.
Starten Sie unbedingt mit dem Anfang, also mit : Fehlerbehandlung (0) - Einführung

Resume (Sprungmarke) Resume Next

So ganz alle Resume Kombinationen habe ich nun nicht in der Überschrift drinne, aber die können Sie sich dann auch selbst zusammenbauen. Hauptsache Resume!
Resume

Bleiben wir bei unserem Beispiel aus dem Vorkapitel.
Es gibt Situationen, fragen Sie mich bitte nicht welche, in denen man auf einen Fehler in der Art reagieren will, dass man einen Wert oder Zugriff ändert und dann mit dem Code an der gleichen Stelle fortfahren will, wo der Fehler produziert wurde.
Beispiel:

Public Sub ResumeResume()
Dim i As Long, k As Long
On Error GoTo Fehler
i = 4 / k
MsgBox i
Exit Sub
Fehler:
k = 2
Resume
End Sub
Hier haben wir eine Fehlerbehandlung.
Unser Code löst den Fehler Division durch 0 aus.
In unserer Fehlerbehandlung setzen wir den k Wert auf 2 und sagen VBA, dass es mit die fehlerproduzierende Anweisung wieder ausführen soll. (Resume)
Seien Sie sich aber sicher, dass Sie durch diese Anweisung wirklich den Fehler aufheben.
Ganz Mutige können mal k = 0 schreiben, sollten aber mit STRG+Pause vertraut sein (Es wird eine Endlosschleife produziert)
Resume Next


Public Sub ResumeResume()
Dim i As Long, k As Long
On Error GoTo Fehler
i = 4 / k
MsgBox i
Exit Sub
Fehler:
Resume Next
End Sub
Dies ist einfach zu erklären!
Resume Next bedeutet hier einfach, VBA soll mit der nächsten Anweisung fortfahren, die nach der Anweisung kommt, die den Fehler produziert hat.
Resume Sprungmarke


Public Sub ResumeResume()
Dim i As Long, k As Long
On Error GoTo Fehler
i = 4 / k
MsgBox i
ResumeSprung: MsgBox ("Ich bin auch da")
Exit Sub
Fehler:
Resume ResumeSprung
End Sub
Hey, dass ist ja auch einfach - oder???
Dies ist im Prinzip wie On Error GoTo Sprungmarke.
Klar - ist doch klar. Wenn nicht, mal irgendwie resumen oder so oder wie.
Bis zum nächsten Kapitel.


Weitere Artikel der Gruppe: Tutorials Aus Excel VBA
Nach oben