![](https://codky.com/wp-content/uploads/2024/11/2619-1024x576.png)
In VBA (Visual Basic for Applications) wird die `GoTo`-Anweisung verwendet, um den Programmablauf bedingt oder unbedingt zu einer bestimmten Stelle im Code zu verschieben. Die Verwendung von `GoTo` wird allerdings oft vermieden, da sie den Code schwer lesbar und wartbar machen kann. Stattdessen werden strukturierte Kontrollflussanweisungen wie Schleifen und If-Else-Strukturen bevorzugt. Dennoch kann `GoTo` in manchen Situationen nützlich sein, zum Beispiel zur Fehlerbehandlung.
Hier ist ein einfaches Beispiel, wie die `GoTo`-Anweisung in VBA verwendet wird:
Sub BeispielMitGoTo()
Dim zahl As Integer
zahl = 10
If zahl > 5 Then
GoTo GroessereZahl
End If
MsgBox "Die Zahl ist 5 oder kleiner."
Exit Sub
GroessereZahl:
MsgBox "Die Zahl ist größer als 5."
End Sub
In diesem Beispiel wird abhängig vom Wert der Variablen `zahl` entschieden, zu welchem Programmabschnitt der Code springt.
Ein häufigeres Anwendungsgebiet für `GoTo` ist die Fehlerbehandlung. Dabei wird `On Error GoTo` verwendet. Hier ein einfaches Beispiel:
Sub BeispielMitFehlerbehandlung()
On Error GoTo FehlerBehandlung
Dim zahl As Integer
zahl = 5 / 0 ' Dieser Ausdruck wird einen Fehler erzeugen.
Exit Sub ' Verhindert, dass die Fehlerbehandlungsroutine unnötig durchlaufen wird.
FehlerBehandlung:
MsgBox "Ein Fehler ist aufgetreten. Fehlernummer: " & Err.Number & ", Beschreibung: " & Err.Description
End Sub
In diesem Beispiel wird im Fehlerfall zu dem mit dem Label `FehlerBehandlung` versehenen Abschnitt gesprungen, wo der Fehler behandelt werden kann. Beachten Sie, dass `On Error GoTo -1` verwendet werden kann, um den Fehlerkontext zurückzusetzen, oder `Resume Next`, um mit der nächsten Anweisung nach dem Fehler fortzufahren.
Obwohl `GoTo` gelegentlich sinnvoll ist, sollten Sie es sparsam und bedacht einsetzen, um die Klarheit und Wartbarkeit Ihres Codes zu gewährleisten.