Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03469.jsonl.gz/369

Mittels dem VBA-Befehl "GoTo" kann in einen beliebigen Bereich des Codes gesprungen werden. Dieser Beitrag zeigt ein Beispiel auf, wie dies funktioniert.
An einer Stelle im Code erfolgt der Befehl "GoTo Zielbereich" und an einem beliebigen anderen Ort steht "Zielbereich:" gefolgt von den entsprechend auszuführenden Befehlen:
Sub MeinGoToMakro()
...
GoTo Zielbereich
...
Zielbereich:
Hier auszuführender Code
...
End Sub
Schauen wir uns ein konkretes Beispiel an: Angenommen das Programm soll zwei mögliche Prozeduren vornehmen - entweder die Befehle in Sektion1 oder diejenigen in Sektion2. Je nach dem, welcher Zelleninhalt in "B1" ist, soll Sektion1 oder Sektion2 ausgeführt werden. In diesem Fall wird das Programm einfach die entsprechende Sektion mit ".Select" auswählen. Meine Exceltabelle sieht wie folgt aus:
Und der vollständige Code in VBA dazu lautet:
Sub GoToMacro()
If Range("B1") = 1 Then
Range("A5").Select
GoTo Ende
Else: GoTo Sektion2
End If
Sektion2:
Range("A9").Select
Ende:
End Sub
Es gibt zwei Aspekte, die ich genauer hervorheben möchte: Der Doppelpunkt hinter der jeweiligen Sektion ("Sektion2:" und "Ende:") ist zwingend notwendig. Zudem ist der Sprung zu eben diesem "Ende:" in unserem obigen Programm wichtig, damit die Befehle in Sektion2 im Falle von B1 = 1 gar nicht erst ausgeführt werden. Da ganze Teile im Code je nach Szenario übersprungen werden, wird die Ausführungszeit des Makros im Generellen beschleunigt.