VBA GoTo-verklaring

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 GoTo Statement in VBA-code te gebruiken

U kunt deze VBA GoTo Excel-sjabloon hier downloaden - VBA GoTo Excel-sjabloon

# 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 gegeven, gaat u naar het laatst gebruikte celbereik.
  • [Scroll]: dit is een logische verklaring van TRUE of FALSE. Als de waarde WAAR 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 nu naar cel C5 in het Jan-blad wil gaan, zal ik de onderstaande set code 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 - Foutafhandelingsmethode

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 april te verwijderen en een nieuw blad toe te voegen. Als er in de actieve werkmap een bladnaam is met de naam April, wordt deze verwijderd of wordt het onderstaande dialoogvenster met foutberichten weergegeven.

Toen ik deze code uitvoerde, had mijn werkmap geen blad met de naam April, dus VBA-code kon de bladnaam niet vinden en genereert de fout. Soms moeten we deze fout negeren, want vaak moeten we, als er geen bladnaam is met de naam April, 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 als Bij fout naar de volgende regel gaan

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

Als u dit nu 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 VBA-code is 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 verwacht.
  • Als de belangrijke regel van de code met deze foutafhandelaar overslaat, is uw taak mogelijk niet perfect voltooid.