VBA Ga naar een regellabel

Met de GoTo-instructie in VBA kunt u naar een regel code springen.

Maak eerst ergens in uw code een regellabel:

1 Overslaan:

Voeg vervolgens toe aan de "GoTo" -instructie om naar het regellabel te gaan

1 Ga naar overslaan

Ga naar voorbeelden

Dit voorbeeld test het jaar. Als het jaar 2022 of later is, gaat het naar het label Skip line. Hiermee kunt u code overslaan als aan bepaalde voorwaarden wordt voldaan.

123456789101112 Sub GoTo_Example()Dim jaar als geheel getaljaar = 2019Als jaar >= 2019, ga dan overslaan'Procesgegevens voor jaren < 2022'MsgBox "Jaar is vóór 2022"Overslaan:Einde sub

Ga naar meerdere regellabels

U kunt ook GoTo-instructies gebruiken om naar relevante coderegels te springen. Laten we ons vorige voorbeeld aanpassen om naar verschillende codelocaties te gaan op basis van welk jaar het is:

1234567891011121314151617181920212223242526272829303132 Sub GoTo_Statement()Dim jaar als geheel getaljaar = 2019Als jaar = 2019 DanGa naar jaar2019ElseIf jaar = 2010 DanGa naar jaar2020AndersGa naar jaar 2021Stop alsjaar2019:'Proces 2022'MsgBox "Jaar is 2022"GoTo EndProcjaar2020:'Proces 2022'MsgBox "Jaar is 2022"GoTo EndProcjaar 2021:'Proces 2022+MsgBox "Jaar is 2022+"EndProc:Einde sub

Let op de "GoTo EndProc" voor elk regellabel. We hebben deze regel code toegevoegd zodat die codesecties worden overgeslagen, tenzij ze worden geopend door de relevante "GoTo".

GoTo Error Handler Einde van procedure

Laten we nu Error Handling gebruiken om naar het einde van de procedure te gaan als er een fout is.

123456789101112 Sub GoTo_OnError ()Dim ik als geheel getalBij fout GoTo EndProcik = 5 / 0MsgBox iEndProc:Einde sub

Ga naar herhaalcode

In ons laatste voorbeeld wordt de GoTo-instructie gebruikt om een ​​code te herhalen.

Hieronder gebruiken we een Ja / Nee Berichtenbox (Klik voor meer informatie) om te bevestigen dat de gebruiker de waarschuwing bevestigt. Als ze op 'Nee' klikken, wordt het berichtvenster opnieuw weergegeven totdat ze op 'Ja' klikken (zie GIF hieronder).

1234567891011 Sub GoTo_YesNoMsgBox()HerhaalMsg:Dim antwoord als geheel getalanswer = MsgBox("WAARSCHUWING: dit bestand is geopend als een alleen-lezen bestand, wat betekent dat eventuele wijzigingen die u aanbrengt niet worden opgeslagen tenzij/totdat u schrijfrechten heeft. " & _Chr(13) & Chr(13) & "Selecteer Bestand, OpslaanAls om een ​​kopie op te slaan voordat u in dit bestand gaat werken." & vbNewLine & vbNewLine & "Begrijpt u het?", vbUitroepteken + vbJaNee, "WAARSCHUWING!")Als antwoord = vbNee Ga dan naar RepeatMsg 'Herhaal totdat de gebruiker op "Ja" kliktEinde sub

VBA Ga naar een regellabel in Access VBA

Alle bovenstaande voorbeelden werken in Access VBA precies hetzelfde als in Excel VBA.

1234567 SubtestGoTo()Bij fout Ga naar eindeDoCmd.OpenForm "FrmClients"Sluit subeinde:MsgBox "Kan formulier niet openen"Einde sub

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave