Auf... GoSub, On... GoTo-Anweisungen
Verzweigung zu einer von mehreren angegebenen Zeilen, je nach Wert eines Ausdrucks.
Syntax
AufAusdruckGoSubdestinationlist
OnexpressionGoTodestinationlist
Die Syntax der On...GoSub- und der On...GoTo-Anweisung weist folgende Teile auf:
Bestandteil | Beschreibung |
---|---|
expression | Erforderlich. Ein numerischer Ausdruck, der zu einer ganzen Zahl zwischen 0 und 255 (einschließlich) ausgewertet wird. Wenn expression keine ganze Zahl ist, wird sie vor der Bewertung gerundet. |
destinationlist | Erforderlich. Eine durch Kommas getrennte Liste mit Zeilennummern oder Zeilenbezeichnungen. |
Hinweise
Der Wert expression bestimmt, welche Zeile zu destinationlist verzweigt wird. Wenn der Wert von expression kleiner als 1 oder größer als die Anzahl der Elemente der Liste ist, kommt es zu einem der folgenden Ereignissen:
expression-Wert | Then |
---|---|
Gleich 0 | Das Steuerelement fällt auf die Anweisung, die On...GoSub oder On...GoTo folgt. |
Größer als die Anzahl der Listenelemente | Das Steuerelement fällt auf die Anweisung, die On...GoSub oder On...GoTo folgt. |
Negativ | Fehler. |
Größer als 255 | Fehler. |
Sie können Zeilennummern und Zeilenbezeichnungen in derselben Liste mischen. Verwenden Sie beliebig viele Zeilenbeschriftungen und Zeilennummern mit Ein... GoSub und Ein... Gehe zu. Wenn Sie jedoch mehr Bezeichnungen oder Nummern verwenden, als auf eine einzelne Zeile passen, müssen Sie das Zeilenfortsetzungszeichen verwenden, um die logische Zeile auf der nächsten physischen Zeile fortzusetzen.
Tipp
Select Case bietet eine strukturiertere und flexiblere Möglichkeit, um mehrere Verzweigungen zu erstellen.
Beispiel
In diesem Beispiel werden die On...GoSub- und On...GoTo-Anweisungen verwendet, um Verzweigungen zu Unterroutinen bzw. zu Zeilenbezeichnungen zu erstellen.
Sub OnGosubGotoDemo()
Dim Number, MyString
Number = 2 ' Initialize variable.
' Branch to Sub2.
On Number GoSub Sub1, Sub2 ' Execution resumes here after
' On...GoSub.
On Number GoTo Line1, Line2 ' Branch to Line2.
' Execution does not resume here after On...GoTo.
Exit Sub
Sub1:
MyString = "In Sub1" : Return
Sub2:
MyString = "In Sub2" : Return
Line1:
MyString = "In Line1"
Line2:
MyString = "In Line2"
End Sub
Siehe auch
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.