AW: Excel 0 hoch 0
13.05.2022 11:05:42
Yal
Hallo Klaus,
für die Fehler-Behandlung verwende den On Error-Anweisung:
On Error Resume Next
On Error Goto FehlerBehandlung
Diese gilt nur innerhalb eine Prozedure, also nur bis Ende der Prozedure, oder bis sie -innerhalb der Prozedure- durch einen
On Error Goto 0
zurückgessetzt wird. Daher werden oft Code-Schnipsel, die eine Fehlerbehandlung erfordern in einer separaten Prozedure abgelagert.
Sub Machen()
Dim i
For i = 3 To 0 Step -1
Debug.Print i & ":" & Rechnen(i)
Next
End Sub
Function Rechnen(ByVal Eingang) As Long
On Error Resume Next
Rechnen = 0 'Default-Wert. Falls Fehler beim nächste Zeile, bleibt diese Wert stehen
Rechnen = Eingang ^ 0
End Function
0^0 scheint in VBA keine Fehler zu erzeugen.
Andere Version mit Sprungmarke in Try-Catch-Finally Muster:
Function Rechnen(ByVal Eingang) As Long
On Error GoTo Catch
Try:
Rechnen = 0 'Default-Wert
Rechnen = Eingang ^ 0
GoTo Finally
Catch:
'hier werden die Fehler behandelt
Finally:
'hier kommt den Abschluss-Code der unbedingt gemacht werden soll, egal ob Fehler oder nicht
'z.B: Application.ScreenUpdating = True
End Function
VG
Yal