VBA GoTo a Line Label

GoTo -uttalandet i VBA låter dig hoppa till en kodrad.

Skapa först en radetikett var som helst i din kod:

1 Hoppa:

Lägg sedan till "GoTo" -uttalandet för att hoppa till radetiketten

1 GoTo Skip

GoTo Exempel

Detta exempel testar året. Om året är 2022 eller senare kommer det att gå till etiketten Hoppa över linje. Detta låter dig hoppa över koden om vissa villkor är uppfyllda.

123456789101112 Sub GoTo_Example ()Dim år som heltalår = 2019Om år> = 2019 Sedan hoppa över'Behandla data för år <2022MsgBox "År är före 2022"Hoppa:Avsluta Sub

GoTo flera radetiketter

Du kan också använda GoTo -uttalanden för att hoppa till relevanta kodrader. Låt oss justera vårt tidigare exempel för att gå till olika kodplatser baserat på vilket år det är:

1234567891011121314151617181920212223242526272829303132 Sub GoTo_Statement ()Dim år som heltalår = 2019Om år = 2019 DåGå till år 2019ElseIf år = 2010 DåGå till år 2020AnnanGå till år 2020Avsluta omår2019:'Process 2022MsgBox "År är 2022"GoTo EndProcår 2020:'Process 2022MsgBox "År är 2022"GoTo EndProcår2021:'Bearbeta 2022+MsgBox "År är 2022+"EndProc:Avsluta Sub

Lägg märke till “GoTo EndProc” före varje radetikett. Vi lade till den här kodraden så att dessa kodavsnitt hoppas över om de inte nås av relevant "GoTo".

GoTo Error Handler Slut på proceduren

Låt oss nu använda Felhantering för att gå till slutet av proceduren om det finns ett fel.

123456789101112 Sub GoTo_OnError ()Dim i As IntegerVid fel GoTo EndProci = 5/0MsgBox iEndProc:Avsluta Sub

GoTo Repeat Code

Vårt sista exempel kommer att använda GoTo -uttalandet för att upprepa någon kod.

Nedan använder vi en Ja / Nej -meddelanderuta (klicka för att lära dig mer) för att bekräfta att användaren bekräftar varningen. Om de klickar på "Nej" visas meddelanderutan igen tills de klickar på "Ja" (se GIF nedan).

1234567891011 Sub GoTo_YesNoMsgBox ()Upprepa meddelande:Dim svar Som heltalanswer = MsgBox ("VARNING! Den här filen öppnades som en skrivskyddad fil, vilket innebär att alla ändringar du gör inte kommer att sparas om/tills du har skrivrättigheter." & _Chr (13) & Chr (13) & "Välj File, SaveAs för att spara en kopia innan du arbetar i den här filen." & vbNewLine & vbNewLine & "Förstår du?", vbExclamation + vbYesNo, "VARNING!")Om svar = vbNo Då går GoTo RepeatMsg 'Repeat tills användaren klickar på "Ja"Avsluta Sub

VBA Gå till en radetikett i Access VBA

Alla ovanstående exempel fungerar exakt likadant i Access VBA som i Excel VBA.

1234567 Sub TestGoTo ()Vid fel GoTo endingDoCmd.OpenForm "FrmClients"Avsluta Subslut:MsgBox "Kan inte öppna formulär"Avsluta Sub

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave