VBA GoTo-verklaring - Hoe gebruik je GoTo Statement in VBA?

Excel VBA GoTo-verklaring

VBA GoTo- instructie wordt gebruikt wanneer er een fout optreedt tijdens het uitvoeren van de code in plaats van een fout weer te geven om de volgende regel code te hervatten door het foutbericht te negeren. Er zijn twee soorten GOTO-instructies: de ene is om een ​​willekeurig bereik van het werkblad in de opgegeven werkmap te selecteren en een andere is een foutafhandelaar.

Om de verwachte fouten in VBA te verhelpen, hebben we een functie genaamd "GOTO". In dit artikel zullen we beide soorten GoTo-statements zien.

2 manieren om de GoTo-instructie in VBA-code te gebruiken

# 1 - Application.GoTo-methode

Als u naar de specifieke werkmap of het specifieke werkblad in alle geopende werkmappen wilt gaan, kunnen we de instructie Application.GoTo-methode gebruiken.

Laten we eens kijken naar de syntaxis van de Application.GoTo-methode

  • (Referentie): dit is niets anders dan een gespecificeerde celverwijzing. Als de referentie niet standaard wordt opgegeven, gaat u naar het laatst gebruikte celbereik.
  • (Scroll): dit is een logische verklaring van TRUE of FALSE. Als de waarde TRUE is, zal deze door het venster scrollen. Als de waarde FALSE is, zal deze niet door het venster scrollen.
Voorbeeld

Als u naar een specifieke cel in het specifieke werkblad wilt gaan, kunnen we de Goto-methode gebruiken. Ik heb 3 bladen met de namen Jan, Feb en Mar.

Als ik naar cel C5 in het Jan-blad wil gaan, zal ik de onderstaande set codes gebruiken.

Stap 1: Start de Excel-macronaam.

Code:

Sub GoTo_Example1 () End Sub

Stap 2: Start de methode " Application.GoTo "

Code:

Sub GoTo_Example1 ()

Application.Goto

Einde Sub

Stap 3: In het referentieargument moeten we de werkbladnaam specificeren, en in dat werkblad moeten we de specifieke cel vermelden.

Code:

Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Bereik ("C5") End Sub

Stap 4: Noem de scroll als TRUE.

Code:

Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Bereik ("C5"), Scroll: = True End Sub

Stap 5: Voer deze code nu uit met behulp van de F5-toets, of u kunt deze code ook handmatig uitvoeren, u gaat naar het opgegeven blad en de opgegeven cel.

Nu zal ik het scroll-argument veranderen in FALSE en de verandering zien die het zal tegenkomen.

Sub GoTo_Example1 () Application.Goto Reference: = Worksheets ("Jan"). Bereik ("C5"), Scroll: = False End Sub

Als u naar een specifieke werkmap wilt gaan, moet u ook de naam van de werkmap vóór de naam van de werkmap vermelden.

Sub GoTo_Example1 () Application.Goto Reference: = Werkmappen ("Book1.xlsx"). Werkbladen ("Jan"). Bereik ("C5"), Scroll: = False End Sub

# 2 - Error Handler-methode

Wanneer de specifieke regel code een fout tegenkomt, stopt VBA met het uitvoeren van de rest van de code en wordt het foutbericht weergegeven.

Kijk bijvoorbeeld naar de onderstaande regel code.

Sub GoTo_Example2 () Sheets ("april"). Verwijder Sheets. Add End Sub

De bovenstaande code zegt om het blad in april te verwijderen en een nieuw blad toe te voegen. Als er in de actieve werkmap een bladnaam met de naam April is, wordt deze verwijderd, anders wordt het onderstaande dialoogvenster met een foutmelding weergegeven.

Toen ik deze code uitvoerde, had mijn werkmap geen blad met de naam April, dus de VBA-code kon de bladnaam niet vinden en genereert de fout. Soms moeten we deze fout negeren, want als er geen bladnaam is met de naam April, moeten we doorgaan met de andere regels code.

Om deze fout te elimineren, kunnen we de GoTo-methode als foutafhandelaar gebruiken.

Nu zal ik de code wijzigen omdat de fout bij On naar de volgende regel gaat.

Sub GoTo_Example2 () Bij fout GoTo NextLine Sheets ("april"). Delete NextLine: Sheets.Add End Sub

Als u dit uitvoert, wordt het nieuwe blad toegevoegd, ook al is er geen bladnaam met de naam April.

De verklaring "On Error GoTo NextLine" begrijpt dat als er een fout optreedt, deze naar de volgende regel springt, en in de volgende regel is de VBA-code om een ​​nieuw blad toe te voegen.

Dingen om te onthouden

  • Als u naar de volgende regel wilt springen wanneer de fout optreedt, kunt u ook de On Error Resume Next VBA-instructie gebruiken.
  • Om naar de volgende te gaan, moet u er zeker van zijn dat die bepaalde regel code een fout bevat.
  • Als de belangrijke regel van de code met deze foutafhandelaar overslaat, is uw taak mogelijk niet perfect voltooid.

Interessante artikelen...