Excel VBA GoTo-Anweisung

VBA Goto Statement wird verwendet, um die vorhergesagten Fehler zu überwinden, während wir in VBA einen riesigen Zeilencode hinzufügen und erstellen. Diese Funktion in VBA ermöglicht es uns, den vollständigen Code gemäß unseren Vorhersagen oder Annahmen zu verwenden. Mit der Hilfe "Springen" können wir in VBA zu einem beliebigen Code für die Zeile oder den Ort wechseln. Es gibt zwei Möglichkeiten, die wir in den folgenden Beispielen sehen werden.

Wie verwende ich Excel VBA Goto Statement?

Wir werden anhand einiger Beispiele lernen, wie Excel VBA Goto Statement verwendet wird.

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

Beispiel 1

Die erste Möglichkeit, VBA Goto zu verwenden, ist die Application.Goto- Methode. Mit Hilfe der Application.Goto- Anweisung können wir zu einem bestimmten Speicherort, einer Arbeitsmappe oder einem Arbeitsblatt wechseln, die bzw. das gerade geöffnet ist. Diese Aussage wird wie folgt aussehen.

  • (Referenz): Dies ist nichts anderes als eine bestimmte 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.

Gehen Sie dazu in das VBA-Fenster und klicken Sie auf Modul im Menü Einfügen (siehe Abbildung unten).

Nun wird ein neues Modul geöffnet. Schreiben Sie dort die Unterkategorie eines Makros mit dem Namen Goto, während wir diesen Code ausführen, wie unten gezeigt.

Code:

 Sub VBAGoto () End Sub 

Schreiben Sie nun Application.Goto, um die Anwendung zu aktivieren oder zu platzieren, wohin wir gehen möchten.

Code:

 Sub VBAGoto () Application.Goto End Sub 

Geben Sie anschließend einen Verweis auf ein Arbeitsblatt oder eine Arbeitsmappe und einen Zellbereich an. Hier haben wir den Bereich von Cell B3 und Worksheets mit dem Namen "VBA Goto" angegeben.

Code:

 Sub VBAGoto () Application.Goto Reference: = Arbeitsblätter ("VBA_Goto1"). Range ("B3"), End Sub 

Um nun zur angegebenen Zelle zu gelangen, müssen wir ein Scroll-Argument hinzufügen, das uns direkt zur angegebenen Zelle führt. Jetzt ändern wir das Scroll-Argument von FALSE wie unten gezeigt.

Code:

 Sub VBAGoto () Application.Goto Reference: = Arbeitsblätter ("VBA_Goto1"). Range ("B3"), Scroll: = False End Sub 

Nachdem Sie den Code mit der Taste F5 oder manuell ausgeführt haben, wird der Cursor in Zelle B3 verschoben, ohne die Ausrichtung des ausgewählten Blatts zu ändern (siehe Abbildung unten).

Jetzt ändern wir das Scroll-Argument von FALSE in TRUE.

Code:

 Sub VBAGoto () Application.Goto Reference: = Arbeitsblätter ("VBA_Goto1"). Range ("B3"), Scroll: = True End Sub 

Zunächst halten wir den Cursor auf Zelle A5, wie unten gezeigt. Führen Sie nun den vollständigen Code mit der Taste F5 oder manuell aus. Wir werden sehen, dass der Cursor, der sich in Zelle A5 befand, jetzt nach oben gescrollt und in Zelle B3 verschoben wird und die gesamte Tabelle in die oberste Ebene des Arbeitsblatts verschoben wurde, beginnend mit der Zelle B3, wie im folgenden Screenshot gezeigt.

Beispiel # 2

Es gibt eine andere Möglichkeit, das VBA-Goto-Argument zu verwenden. Mit Goto in VBA in diesem Beispiel können wir das Argument überspringen, das einen Fehler verursacht. Fügen Sie dazu ein neues Modul in VBA ein und starten Sie Subcategory mit dem Namen des verwendeten Arguments, wie unten gezeigt. Sie können einen beliebigen anderen Namen verwenden.

Code:

 Sub VBAGoto () End Sub 

Zu diesem Zweck betrachten wir 3 Ganzzahlen X, Y und Z, indem wir die Unterkategorie in VBA wie unten gezeigt öffnen.

Code:

 Sub VBAGoto () Dim X als Ganzzahl, Y als Ganzzahl, Z als Ganzzahl End Sub 

Betrachten Sie nun auch eine mathematische Unterteilung, bei der wir 10, 20 und 30 wie unten gezeigt durch 0, 2 und 4 teilen.

Code:

 Sub VBAGoto () Dim X als Ganzzahl, Y als Ganzzahl, Z als Ganzzahl X = 10/0 Y = 20/2 Z = 30/4 End Sub 

Wenn wir den Code ausführen, wird die gleiche Fehlermeldung wie bei Laufzeitfehler 11 angezeigt.

Über Fehlermeldung Laufzeitfehler "11" tritt nur auf, wenn der geschriebene mathematische Ausdruck falsch ist. Um diesen Fehler zu überschreiben, verwenden wir den Text On Error GoTo mit dem Wort YResult, um die Fehlermeldung zu überspringen und die Ausgabe zu erhalten, die wie unten gezeigt funktioniert.

Dennoch ist unser Code nicht vollständig. Wenn Sie " Goto" mit der Anweisung " YResult :" verwenden, wird nur die Fehlercodezeile übersprungen . Aber es wird wieder der Fehler als Labe angezeigt, der nicht wie unten gezeigt definiert ist.

Code:

 Sub VBAGoto () Dim X als Ganzzahl, Y als Ganzzahl, Z als Ganzzahl On Error GoTo YResult: X = 10/0 Y = 20/2 Z = 30/4 End Sub 

Jetzt müssen wir das Label definieren, um es zu vervollständigen. Label ist der Teil der Anweisung in der VBA-Codierung, der verwendet wird, wenn ein bestimmter Codeabschnitt zu einer definierten anwendbaren Codezeile übersprungen werden soll. Da haben wir schon YResult mit Goto Argument. Dann fügen wir dasselbe kurz vor der Ganzzahl Y ein. Führen Sie nun den Code erneut aus.

Code:

 Sub VBAGoto () Dim X als Ganzzahl, Y als Ganzzahl, Z als Ganzzahl On Error GoTo YResult: X = 10/0 YResult: Y = 20/2 Z = 30/4 End Sub 

Wie wir gesehen und getan haben, haben wir keine Fehlermeldung erhalten, was bedeutet, dass unser Code korrekt ist, und es wird die Codezeile übersprungen, die einen Fehler verursacht hat, und die Ausgabe wird dort ausgegeben, wo der richtige Code geschrieben wurde. Um das Ergebnis des Codes auszudrucken, müssen Sie Meldungsfelder für jede Ganzzahl mit dem Hilfsargument MsgBox wie unten gezeigt einfügen.

Code:

 Sub VBAGoto () Dim X als Ganzzahl, Y als Ganzzahl, Z als Ganzzahl On Error GoTo YResult: X = 10/0 YResult: Y = 20/2 Z = 30/04 MsgBox X MsgBox Y MsgBox Z End Sub 

Führen Sie anschließend den vollständigen Code aus, um die Ausgabe anzuzeigen. Wir werden die Ausgabe der Division für jede definierte ganze Zahl als 0, 10 und 8 anzeigen, wie im folgenden Screenshot gezeigt.

Die Anweisung " On Error GoTo YResult" hat uns geholfen, direkt zur angegebenen Ergebnispunkt-Ganzzahl zu springen, wie wir es für die Ganzzahl Y getan haben. Die Ausgabe für X als 0 zeigt, dass ein falsches Anweisungsargument geschrieben wurde. Wir können das Label sogar vor Z setzen, aber das würde nur das Ergebnis von Z Integer ergeben. Für X und Y wird wieder 0 als Ausgang angezeigt.

Vorteile von VBA On Error

  • Wir können jede mathematische Formel berechnen, auch wenn sie falsch ist.
  • Bei größeren Codierungsstrukturen, bei denen Chancen bestehen oder Fehler auftreten, kann die Verwendung von GoTo sogar in der Codezeile zu korrekten Ergebnissen führen.
  • Dies ergibt ein besseres Ergebnis als bei normalen Excel-Berechnungen, obwohl ein falsches Argument vorliegt.

Dinge, an die man sich erinnern sollte

  • Denken Sie daran, die Datei in einer Excel-Datei mit Makros zu speichern, damit der erstellte VBA-Code mehrmals verwendet werden kann.
  • Kompilieren Sie den geschriebenen Code vor der Implementierung mit Excel-Anforderungen.
  • Sie können den geschriebenen Code einer beliebigen Schaltfläche zuweisen, sodass wir schnell auf die Schaltfläche klicken und den Code ausführen können.
  • Verwenden Sie Label wie in Beispiel 2 gezeigt, damit wir das Ergebnis für den vollständigen korrekten Code erhalten.

Empfohlene Artikel

Dies war eine Anleitung zur VBA GoTo-Anweisung. Hier haben wir die Verwendung von Excel VBA GoTo Statement zusammen mit einigen praktischen Beispielen und einer herunterladbaren Excel-Vorlage besprochen. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Wie benutze ich Excel VBA Loops?
  2. VBA-Funktion in Excel
  3. Leitfaden zur Auswahl in Excel
  4. Wie benutze ich die VBA VLOOKUP-Funktion?

Kategorie: