Rückkehr in VBA-Code-Beispiele

VBA – Auf eine Zeilenbeschriftung springen (GoTo)

Mit der GoTo-Anweisung in VBA können Sie zu einer Codezeile springen. Erstellen Sie zunächst eine Zeilenbeschriftung an einer beliebigen Stelle in Ihrem Code:

Sprung:

Fügen Sie dann die Anweisung „GoTo“ hinzu, um zur Zeilenbeschriftung zu springen

GoTo Sprung

GoTo – Beispiele

Dieses Beispiel prüft das Jahr. Wenn das Jahr 2019 oder später ist, springt es zur Zeilenbeschriftung „Sprung“. So können Sie Codezeilen überspringen, wenn bestimmte Bedingungen erfüllt sind.

Sub GoTo_Beispiel()

    Dim Jahr As Integer
    Jahr = 2019

    If Jahr >= 2019 Then GoTo Sprung
    
    'Daten für Jahre < 2019 verarbeiten
     MsgBox "Jahr liegt vor 2019"

Sprung:
End Sub

GoTo – Mehrere Zeilenbeschriftungen

Sie können auch GoTo-Anweisungen verwenden, um zu relevanten Codezeilen zu springen. Lassen Sie uns unser vorheriges Beispiel so anpassen, dass wir je nach Jahr zu verschiedenen Codepositionen springen:

Sub GoTo_Ausdruck()

    Dim Jahr As Integer
    Jahr = 2019

    If Jahr = 2019 Then
        GoTo Jahr2019
    ElseIf Jahr = 2010 Then
        GoTo Jahr2020
    Else
        GoTo Jahr2021
    End If
    
Jahr2019:
    '2019 verarbeiten
    MsgBox "Das Jahr ist 2019"


GoTo EndProc
Jahr2020:
    '2020 verarbeiten
    MsgBox "Das Jahr ist 2020"


GoTo EndProc
Jahr2021:
    '2021+ verarbeiten
    MsgBox "Das Jahr ist 2021+"

EndProc:
End Sub

Beachten Sie den Ausdruck „GoTo EndProc“ vor jeder Zeilenbeschriftung. Wir haben diese Codezeile hinzugefügt, damit diese Codeabschnitte übersprungen werden, wenn sie nicht durch das entsprechende „GoTo“ aufgerufen werden.

GoTo Error Handler – Ende der Prozedur

Verwenden wir nun die Fehlerbehandlung, um im Falle eines Fehlers zum Ende der Prozedur zu gelangen.

Sub GoTo_BeiFehler ()
Dim i As Integer

On Error GoTo EndProc


    i = 5 / 0
    MsgBox i

EndProc:
End Sub

GoTo – Code wiederholen

In unserem letzten Beispiel wird die GoTo-Anweisung verwendet, um einen Code zu wiederholen. Im Folgenden verwenden wir eine Ja/Nein-Meldungsbox (Klicken Sie hier, um mehr zu erfahren), um zu bestätigen, dass der Benutzer die Warnung zur Kenntnis genommen hat. Wenn er auf „Nein“ klickt, wird die Messagebox erneut angezeigt, bis er auf „Ja“ klickt (siehe GIF unten).

Sub GoTo_JaNeinMsgBox()

MeldungWiederholen:
    Dim Antwort As Integer
    
    Antwort = MsgBox("WARNUNG: Diese Datei wurde als schreibgeschützte Datei geöffnet, was bedeutet, dass alle Änderungen, die Sie vornehmen, nicht gespeichert werden, es sei denn, Sie haben Schreibrechte. " & _
    vbNewLine & vbNewLine & "Wählen Sie Datei -> Speichern Als, um eine Kopie zu speichern, bevor Sie in dieser Datei arbeiten." & vbNewLine & vbNewLine & "Haben Sie verstanden?", vbExclamation + vbYesNo, "WARNING!")
    
    If Antwort = vbNo Then GoTo MeldungWiederholen 'Wiederholen, bis der Benutzer auf "Ja" klickt

End Sub

vba goto zeilenlabel

VBA GoTo zu einer Zeilenbeschriftung in Access VBA

Alle oben genannten Beispiele funktionieren in Access VBA genau so wie in Excel VBA.

Sub GoToTesten()
   On Error GoTo Beenden
   DoCmd.OpenForm "FrmKunden"
   Exit Sub
   Beenden:
   MsgBox "Das Formular kann nicht geöffnet werden."
End Sub

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!