VBA GoTo-Anweisung

Excel VBA GoTo-Anweisung

Die VBA GoTo- Anweisung wird verwendet, wenn beim Ausführen des Codes ein Fehler auftritt, anstatt einen Fehler anzuzeigen, um die nächste Codezeile durch Ignorieren der Fehlermeldung fortzusetzen. Es gibt zwei Arten von GOTO-Anweisungen: Eine ist die Auswahl eines beliebigen Bereichs des Arbeitsblatts in der angegebenen Arbeitsmappe und eine andere ist die Fehlerbehandlung.

Um die erwarteten Fehler in VBA zu überwinden, haben wir eine Funktion namens "GOTO". In diesem Artikel werden beide Arten von GoTo-Anweisungen angezeigt.

2 Möglichkeiten zur Verwendung der GoTo-Anweisung im VBA-Code

Sie können diese VBA GoTo Excel-Vorlage hier herunterladen - VBA GoTo Excel-Vorlage

# 1 - Application.GoTo-Methode

Wenn Sie in allen geöffneten Arbeitsmappen zu einer bestimmten Arbeitsmappe oder einem bestimmten Arbeitsblatt wechseln möchten, können Sie die Anweisung Application.GoTo verwenden.

Schauen wir uns die Syntax der Application.GoTo-Methode an

  • [Referenz]: Dies ist nichts anderes als eine angegebene Zellreferenz. Wenn die Referenz nicht standardmäßig angegeben ist, gelangen Sie zum zuletzt verwendeten Zellbereich.
  • [Scroll]: Dies ist eine logische Aussage von TRUE oder FALSE. Wenn der Wert TRUE ist, wird durch das Fenster gescrollt, wenn der Wert FALSE ist, wird nicht durch das Fenster gescrollt.
Beispiel

Wenn Sie zu einer bestimmten Zelle im jeweiligen Arbeitsblatt wechseln möchten, können Sie die Goto-Methode verwenden. Ich habe 3 Blätter mit den Namen Jan, Feb und Mar.

Wenn ich jetzt zu Zelle C5 im Januar-Blatt gehen möchte, verwende ich den folgenden Codesatz.

Schritt 1: Starten Sie den Excel-Makronamen.

Code:

 Sub GoTo_Example1 () End Sub 

Schritt 2: Starten Sie die Methode " Application.GoTo "

Code:

Sub GoTo_Example1 ()

Application.Goto

End Sub

Schritt 3: Im Referenzargument müssen wir den Arbeitsblattnamen angeben und in diesem Arbeitsblatt müssen wir die spezifische Zelle erwähnen.

Code:

 Sub GoTo_Example1 () Application.Goto Reference: = Arbeitsblätter ("Jan"). Range ("C5") End Sub 

Schritt 4: Erwähnen Sie die Schriftrolle als WAHR.

Code:

 Sub GoTo_Example1 () Application.Goto-Referenz: = Arbeitsblätter ("Jan"). Bereich ("C5"), Bildlauf: = True End Sub 

Schritt 5: Führen Sie diesen Code jetzt mit der Taste F5 aus, oder Sie können diesen Code auch manuell ausführen. Sie gelangen dann zum angegebenen Blatt und zur angegebenen Zelle.

Jetzt werde ich das Scroll-Argument in FALSE ändern und die Änderung sehen, auf die es stoßen wird.

 Sub GoTo_Example1 () Application.Goto-Referenz: = Arbeitsblätter ("Jan"). Bereich ("C5"), Bildlauf: = False End Sub 

Wenn Sie zu einer bestimmten Arbeitsmappe wechseln möchten, müssen Sie auch den Namen der Arbeitsmappe vor dem Namen der Arbeitsmappe angeben.

 Sub GoTo_Example1 () Application.Goto Reference: = Arbeitsmappen ("Book1.xlsx"). Arbeitsblätter ("Jan"). Bereich ("C5"), Bildlauf: = False End Sub 

# 2 - Fehlerbehandlungsmethode

Wenn in der jeweiligen Codezeile ein Fehler auftritt, beendet VBA die Ausführung des restlichen Codes und zeigt die Fehlermeldung an.

Schauen Sie sich zum Beispiel die folgende Codezeile an.

 Sub GoTo_Example2 () Sheets ("April"). Sheets löschen.Add End Sub 

Der obige Code besagt, dass das Blatt April gelöscht und ein neues Blatt hinzugefügt werden soll. Wenn in der aktiven Arbeitsmappe ein Blattname mit dem Namen April vorhanden ist, wird dieser gelöscht oder das folgende Dialogfeld mit der Fehlermeldung angezeigt.

Als ich diesen Code ausführte, hatte meine Arbeitsmappe kein Blatt mit dem Namen April, sodass der VBA-Code den Blattnamen nicht finden konnte und den Fehler auslöste. Manchmal müssen wir diesen Fehler ignorieren, denn oft, wenn es keinen Blattnamen namens April gibt, müssen wir mit den anderen Codezeilen fortfahren.

Um diesen Fehler zu beseitigen, können wir die GoTo-Methode als Fehlerbehandlungsroutine verwenden.

Jetzt werde ich den Code ändern, wenn bei Fehler in die nächste Zeile gewechselt wird

 Sub GoTo_Example2 () Bei Fehler GoTo NextLine Sheets ("April"). NextLine löschen: Sheets.Add End Sub 

Wenn Sie dies jetzt ausführen, wird das neue Blatt hinzugefügt, obwohl es keinen Blattnamen namens April gibt.

Die Anweisung "On Error GoTo NextLine" versteht, dass bei Auftreten eines Fehlers in die nächste Zeile gesprungen wird und in der nächsten Zeile der VBA-Code ein neues Blatt hinzufügen soll.

Dinge, an die man sich erinnern sollte

  • Wenn Sie bei Auftreten des Fehlers zur nächsten Zeile springen möchten, können Sie auch die VBA-Anweisung On Error Resume Next verwenden.
  • Um zum nächsten zu springen, müssen Sie sicherstellen, dass für diese bestimmte Codezeile ein Fehler erwartet wird.
  • Wenn die wichtige Codezeile mit diesem Fehlerbehandler übersprungen wird, ist Ihre Aufgabe möglicherweise nicht perfekt abgeschlossen.