top of page

GRUNDLAGENKURSE  |  DIE WICHTIGSTEN BEFEHLE

​#22 Laufzeitfehler abfangen

Excel VBA Befehle Folge 22: On Error GoTo - Laufzeitfehler abfangen

Inhalt dieser Folge:

  • Wie kann ich auf Laufzeitfehler reagieren?

  • Porgramm beenden, wenn ein Laufzeitfehler auftaucht

  • Fehlerzeile überspringen, wenn ein Laufzeitfehler auftaucht

  • Wie erstelle ich eine individuelle Fehlerverarbeitung mit Select Case?

Den Inhalt der Folge kostenlos als PDF einsehen
Ausgangssituation
 

Sub Ausgangssituation()

 

'1

Dim i As Integer

Worksheets("Tabelle1").Activate

 

'2

For i = 1 To 5

  'Wurzel des Zelleneintrages ziehen

  MsgBox Sqr(Cells(i,1).Value)

Next

 

End Sub

​

Beispiel 1: Laufzeitfehler tritt auf - Programm beenden
 

'Eine Fehlermarke Setzen: On Error GoTo

'Sobald ein Laufzeitfehler auftritt, soll das Programm beendet werden

 

Sub Beispiel1()

 

Dim i As Integer

On Error GoTo FehlerVerarbeitung

 

Worksheets("Tabelle1").Activate

 

For i = 1 To 5

 'Wurzel des Zelleneintrages ziehen

 MsgBox Sqr(Cells(i,1).Value)

Next

​

Exit Sub

​

FehlerVerarbeitung:

 'Was tun, wenn ein Laufzeitfehler auftritt?

 MsgBox "Fehler aufgetreten, Programm beenden"

 

End Sub

​

Beispiel 2: Laufzeitfehler tritt auf - Fehlerzeile überspringen
 
'Eine Fehlermarke Setzen: On Error GoTo
'Sobald ein Laufzeitfehler auftritt, soll der Fehler übersprungen werden
 
Sub Beispiel2()
 
Dim i As Integer
On Error GoTo FehlerVerarbeitung
 
Worksheets("Tabelle1").Activate
 
For i = 1 To 5
 'Wurzel des Zelleneintrages ziehen
 MsgBox Sqr(Cells(i,1).Value)
Next
 
Exit Sub
 
FehlerVerarbeitung:
 'Fehlerzeile überspringen
 MsgBox "Fehler aufgetreten: Zeile mit Fehler überspringen"  
 Resume Next
 
End Sub
​
Beispiel 3: Laufzeitfehler tritt auf - Individuell entscheiden, was passieren soll
 
'Eine Fehlermarke Setzen: On Error GoTo
'Sobald ein Laufzeitfehler auftritt, soll individuell entschieden werden, was passiert
 
Sub Beispiel3()
 
Dim i As Integer
Dim Antwort as String
On Error GoTo FehlerVerarbeitung
 
Worksheets("Tabelle1").Activate
 
For i = 1 To 5
 'Wurzel des Zelleneintrages ziehen
 MsgBox Sqr(Cells(i,1).Value)
Next
 
Exit Sub
 
FehlerVerarbeitung:
'Wählen, ob ein Fehler übersprungen wird oder nicht
 Antwort = MsgBox("Fehler überspringen?", vbYesNo)
 If antwort = vbYes Then Resume Next
 
End Sub
​
Beispiel 4: Bestimmte Laufzeitfehler automatisch überspringen - mit Select Case
 
'Eine Fehlermarke Setzen: On Error GoTo
'Es wird vorab festgelegt, was bei unterschiedlichen Laufzeitfehlern passiert, mit Hilfe einer Select Case - Anweisung
 
Sub Beispiel4()
 
Dim i As Integer
On Error GoTo FehlerVerarbeitung
 
Worksheets("Tabelle1").Activate
 
For i = 1 To 5
 'Wurzel des Zelleneintrages ziehen
 MsgBox Sqr(Cells(i,1).Value)
Next
​
Exit Sub
 
FehlerVerarbeitung:
 'Was tun, wenn eine Zeile einen Laufzeitfehler enthält?
 Select Case Err.Number
   Case 5
     'Ungültiger Prozeduraufruf oder ungültiges Argument
     Resume Next
   Case 9
     'Außerhalb des gültigen Bereichs
     Exit Sub
   Case Else
     'Es liegt ein neuer Fehler vor
     MsgBox "Neuer Fehler: " & vbCrLf & Err.Number & _ 
     vbCrLf &  Err.Description
     Exit Sub
   End Select
 
End Sub
​
Alle Folgen der VideoReihe auf einen Blick
​Folge 01   Arbeitsmappen und Tabellenblätter ansprechen, sortieren, ...

Folge 02   Zellen ansprechen

Folge 03   Meldeboxen, MsgBox (PopUpFenster)

Folge 04   Schrifteinstellungen (Fett, Kursiv, Schriftart, Schriftfarbe, Schriftgröße, ...)

Folge 05   Variablen & Datentypen in VBA

Folge 06   Arrays / Datenfelder in VBA

Folge 07   For Next - Schleifen in VBA

Folge 08   Dynamische Arrays

Folge 09   Rechenoperationen

Folge 10   Vergleichsoperatoren

Folge 11   Logische Operatoren

Folge 12   SuchFunktion (Einträge & Begriffe in Zellen suchen)

Folge 13   If Then Else - Verzweigungen in VBA

Folge 14   Do While Loop - Schleifen in VBA

Folge 15   Endlosschleifen verhindern

Folge 16   Die SortierFunktion (sortieren, nach mehreren Kriterien)

Folge 17   Select Case - Verzweigungen in VBA

Folge 18   InputBox (gestalten und Eingaben verwenden)

Folge 19   For Each - Schleifen in VBA

Folge 20   Borders-Eigenschaften (Dynamisches Tabellendesign erstellen)

Folge 21   Laufzeitfehler & Syntaxfehler - finden und beheben

Folge 22   On Error GoTo - Laufzeitfehler abfangen

Folge 23   Alle Farben in VBA nutzen (ColorIndex, vb Color, RGB)

Folge 24   Zeichen ersetzen mit der REPLACE Funktion

Folge 25   Zeichen trennen mit der SPLIT Funktion

Folge 26   Zeichen verbinden mit der JOIN Funktion

Folge 27   Auszug aus einer Zeichenkette - LEFT, RIGHT, MID Funktion

Folge 28   Zeichenketten vergleichen mit UCase & LCase

Folge 29   Arbeitsmappen Ereignisse (Open, BeforeClose, BeforeSave)

Folge 30   Tabellenblatt Ereignisse (Change, BeforeDoubleClick)

Folge 31   Zeilen und Spalten fixieren (FreezePanes)

Folge 32   Kommentare einfügen mit VBA (AddComment)

Folge 33   Zellen verbinden & Warnmeldungen ignorieren

bottom of page