Excel VBA GoTo-verklaring

VBA Goto Statement wordt gebruikt om de voorspelde fouten te overwinnen, terwijl we een enorme code in VBA toevoegen en maken. Met deze functie in VBA kunnen we de volledige code gebruiken volgens onze voorspelling of veronderstellingen. Met behulp van Goto kunnen we naar elke opgegeven regel- of locatiecode in VBA gaan. Er zijn twee manieren om dit te doen, die we in komende voorbeelden zullen zien.

Hoe Excel VBA Goto Statement gebruiken?

We zullen leren hoe we Excel VBA Goto Statement kunnen gebruiken met een paar voorbeelden.

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

Voorbeeld 1

De eerste manier om VBA Goto te gebruiken is via de Application.Goto- methode. Met behulp van de Application.Goto- verklaring kunnen we naar elke specifieke locatie, werkmap of werkblad die momenteel wordt geopend. Deze verklaring ziet er als volgt uit.

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

Ga hiervoor naar het VBA-venster en klik op Module in het menu Invoegen zoals hieronder wordt weergegeven.

Nu wordt een nieuwe module geopend. Schrijf daar de Subcategorie van een macro met de naam Goto terwijl we die code uitvoeren zoals hieronder getoond.

Code:

 Sub VBAGoto () Einde Sub 

Schrijf nu Application.Goto om toe te staan ​​op toepassing of plaats waar we naartoe willen.

Code:

 Sub VBAGoto () Toepassing. Ga naar einde Sub 

Geef daarna een verwijzing naar een werkblad of werkmap en cellenbereik. Hier hebben we het bereik van Cell B3 en werkbladen met de naam “VBA Goto” gegeven.

Code:

 Sub VBAGoto () Application.Goto Reference: = Werkbladen ("VBA_Goto1"). Bereik ("B3"), End Sub 

Om nu daadwerkelijk naar de genoemde cel te gaan, moeten we het Scroll-argument toevoegen dat ons rechtstreeks naar de opgegeven cel brengt. Nu zullen we het scroll-argument van FALSE wijzigen zoals hieronder getoond.

Code:

 Sub VBAGoto () Application.Goto Referentie: = Werkbladen ("VBA_Goto1"). Bereik ("B3"), Scroll: = False End Sub 

Na het uitvoeren van de code met behulp van de F5-toets of handmatig, zullen we zien dat de cursor naar cel B3 wordt verplaatst zonder de oriëntatie van het geselecteerde blad te wijzigen, zoals hieronder wordt getoond.

Nu zullen we het Scroll-argument veranderen van FALSE naar TRUE.

Code:

 Sub VBAGoto () Application.Goto Referentie: = Werkbladen ("VBA_Goto1"). Bereik ("B3"), Scroll: = True End Sub 

In eerste instantie houden we de cursor op cel A5 zoals hieronder wordt weergegeven. Voer nu de volledige code uit met de F5-toets of handmatig. We zullen de cursor zien die zich in cel A5 bevond, nu omhoog is geschoven en naar cel B3 is verschoven en de hele tabel is naar het bovenste niveau van blad verplaatst, beginnend met dezelfde cel als B3 zoals weergegeven in onderstaande screenshot.

Voorbeeld 2

Er is een andere manier om het VBA Goto-argument te gebruiken. Als we Goto in dit voorbeeld in VBA gebruiken, kunnen we het argument overslaan dat een fout veroorzaakt. Voeg hiervoor een nieuwe module in VBA in en start Subcategorie met de naam van het gebruikte argument zoals hieronder getoond. U kunt elke andere naam gebruiken.

Code:

 Sub VBAGoto () Einde Sub 

Hiervoor zullen we 3 gehele getallen X, Y en Z overwegen door Subcategorie te openen in VBA zoals hieronder weergegeven.

Code:

 Sub VBAGoto () Dim X als geheel getal, Y als geheel getal, Z als geheel getal Einde Sub 

Overweeg nu ook een wiskundige verdeling waar we 10, 20 en 30 zullen delen met 0, 2 en 4 zoals hieronder getoond.

Code:

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

Als we de code uitvoeren, krijgen we hetzelfde foutbericht als Runtime-fout 11.

Bovenstaande foutmelding Runtime-fout '11' komt alleen wanneer de schriftelijke wiskundige uitdrukking onjuist is. Om deze fout te negeren, gebruiken we de tekst On Error GoTo met het woord YResult om het foutbericht over te slaan en de uitvoer te krijgen die goed werkt, zoals hieronder wordt weergegeven.

Toch is onze code niet compleet. Als u Goto gebruikt met de instructie " YResult :", wordt alleen de foutregel met code overgeslagen. Maar het zal opnieuw de fout tonen als Labe niet gedefinieerd zoals hieronder getoond.

Code:

 Sub VBAGoto () Dim X als geheel getal, Y als geheel getal, Z als geheel getal bij fout GoTo YResultaat: X = 10/0 Y = 20/2 Z = 30/4 End Sub 

Om dit te voltooien, moeten we het label definiëren. Label is het deel van de instructie in VBA-codering, dat wordt gebruikt wanneer we een bepaald gedeelte van de code naar een gedefinieerde toepasselijke coderegel willen overslaan. Zoals we al hebben YResult met Goto argument. Dan zullen we hetzelfde invoegen net voor geheel getal Y. Voer nu de code opnieuw uit.

Code:

 Sub VBAGoto () Dim X als geheel getal, Y als geheel getal, Z als geheel getal bij fout GoTo YResultaat: X = 10/0 YResultaat: Y = 20/2 Z = 30/4 End Sub 

Zoals gezien en gedaan, hebben we geen foutmelding gekregen wat betekent dat onze code correct is en deze coderegel overslaat die een fout veroorzaakte en de uitvoer gaf waar de juiste code is geschreven. Als u nu het resultaat van de code wilt afdrukken, moet u berichtvakken voor elk geheel getal invoegen met het hulpargument MsgBox, zoals hieronder wordt weergegeven.

Code:

 Sub VBAGoto () Dim X als geheel getal, Y als geheel getal, Z als geheel getal bij fout GoTo YResultaat: X = 10/0 YResultaat: Y = 20/2 Z = 30/4 MsgBox X MsgBox Y MsgBox Z End Sub 

Voer vervolgens de volledige code uit om de uitvoer te zien. We zullen de output van deling van elke gedefinieerde gehele getallen als 0, 10 en 8 zoals ook in onderstaande screenshot getoond.

Bij fout hielp de GoTo YResult- instructie ons om direct naar het genoemde resultaat- puntgetal te springen zoals we deden voor geheel getal Y. En de uitvoer voor X als 0 laat zien dat er een onjuist statementargument is geschreven. We kunnen het label zelfs nog voor Z maken, maar dat zou ons alleen het resultaat van Z geheel getal geven. Voor X en Y wordt opnieuw 0 als uitvoer weergegeven.

Voordelen van VBA On Error

  • We kunnen elke wiskundige formule berekenen, zelfs als deze onjuist is.
  • Voor grotere coderingsstructuren waar er kansen zijn of een fout hebben, kan het gebruik van GoTo een correct resultaat geven, zelfs onder de coderegel.
  • Dit geeft een beter resultaat in vergelijking met het resultaat verkregen uit normale Excel-berekeningen ondanks een onjuist argument.

Dingen om te onthouden

  • Vergeet niet om het bestand in een Excel-bestand met macro ingeschakeld zodat we de gemaakte VBA-code vele en meerdere keren kunnen gebruiken.
  • Compileer de geschreven code voordat u implementeert met een Excel-vereiste.
  • U kunt de geschreven code toewijzen aan elke knop, zodat we snel op de knop kunnen klikken en de code kunnen uitvoeren.
  • Gebruik Label zoals getoond in voorbeeld-2 op de juiste manier, zodat we het resultaat voor de volledig correcte code krijgen.

Aanbevolen artikelen

Dit is een leidraad geweest voor de VBA GoTo-verklaring. Hier hebben we besproken hoe u Excel VBA GoTo Statement kunt gebruiken, samen met enkele praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Hoe Excel VBA Loops te gebruiken?
  2. VBA-functie in Excel
  3. Handleiding voor bereik in Excel
  4. Hoe de VBA VLOOKUP-functie te gebruiken?

Categorie: