In VBA wird die `GoSub…Return`-Anweisung verwendet, um eine Art von untergeordnetem Verfahren innerhalb einer Prozedur auszuführen. Diese Struktur erlaubt es, Codeabschnitte auszuführen und dann an den Punkt zurückzukehren, von dem aus sie aufgerufen wurden. Es ist wichtig zu beachten, dass `GoSub…Return` in der modernen Programmierung in der Regel nicht empfohlen wird, da es die Lesbarkeit und Wartbarkeit des Codes erschwert. Stattdessen sollten Sie Subroutinen oder Funktionen verwenden.
Wenn Sie dennoch `GoSub…Return` verwenden möchten, sieht die Syntax folgendermaßen aus:
Sub Beispiel()
Dim Zahl As Integer
Zahl = 5
GoSub Prozedur1 ' Springen Sie zu Prozedur1
Exit Sub ' Beenden Sie das Sub, um unbeabsichtigte Ausführung zu vermeiden
Prozedur1:
Zahl = Zahl + 10
Debug.Print Zahl
Return ' Kehren Sie zu der Zeile nach dem GoSub zurück
End Sub
In diesem Beispiel:
- Die `GoSub`-Anweisung springt zu einem benannten Codeabschnitt innerhalb der gleichen Prozedur.
- Der Abschnitt nach der benannten Prozedur wird bis zur `Return`-Anweisung ausgeführt.
- Die `Return`-Anweisung kehrt zur nächsten Anweisung nach `GoSub` zurück.
- Es ist wichtig, ein `Exit Sub` vor der definierten “Prozedur” einzufügen, um zu verhindern, dass der Code nach Abschluss der Unterprozedur erneut ausgeführt wird, falls der Programmablauf das Ende der Hauptprozedur erreicht.
Verwenden Sie diesen Ansatz mit Vorsicht und überlegen Sie, ob es sinnvoller wäre, den Code in separate Subroutinen oder Funktionen zu unterteilen.