VBA GoTo a Line Label

GoTo -erklæringen i VBA lar deg hoppe til en linje med kode.

Lag først en linjelabel hvor som helst i koden din:

1 Hopp over:

Legg deretter til i "GoTo" -uttalelsen for å hoppe til linjetiketten

1 Gå til hoppe

GoTo -eksempler

Dette eksemplet tester året. Hvis året er 2022 eller senere, går det til etiketten Hopp over linjen. Dette lar deg hoppe over koden hvis visse betingelser er oppfylt.

123456789101112 Sub GoTo_Example ()Dim år som heltallår = 2019Hvis år> = 2019, så gå til hopp'Behandle data for år <2022MsgBox "År er før 2022"Hopp over:Slutt Sub

GoTo -etiketter med flere linjer

Du kan også bruke GoTo -setninger til å hoppe til relevante kodelinjer. La oss justere vårt forrige eksempel for å gå til forskjellige kodeplasser basert på hvilket år det er:

1234567891011121314151617181920212223242526272829303132 Sub GoTo_Statement ()Dim år som heltallår = 2019Hvis år = 2019 DaGå til år 2019ElseIf år = 2010 DaGå til år 2020EllersGå til år 2020Slutt omår 2019:'Prosess 2022MsgBox "År er 2022"GoTo EndProcår 2020:'Prosess 2022MsgBox "År er 2022"GoTo EndProcår2021:'Behandle 2022+MsgBox "År er 2022+"EndProc:Slutt Sub

Legg merke til “GoTo EndProc” før hver linjemerking. Vi la til denne kodelinjen slik at disse kodeseksjonene hoppes over med mindre den relevante "GoTo" får tilgang til dem.

GoTo Error Handler Slutt på prosedyren

La oss nå bruke Feilhåndtering for å gå til slutten av prosedyren hvis det er en feil.

123456789101112 Sub GoTo_OnError ()Dim i As IntegerVed feil GoTo EndProci = 5/0MsgBox iEndProc:Slutt Sub

Gå til gjenta koden

Vårt siste eksempel vil bruke GoTo -erklæringen til å gjenta noen kode.

Nedenfor bruker vi en Ja / Nei meldingsboks (Klikk for å lære mer) for å bekrefte at brukeren godtar advarselen. Hvis de klikker "Nei", vises meldingsboksen igjen til de klikker "Ja" (se GIF nedenfor).

1234567891011 Sub GoTo_YesNoMsgBox ()Gjenta melding:Dim svar som heltallanswer = MsgBox ("ADVARSEL: Denne filen ble åpnet som en skrivebeskyttet fil, noe som betyr at eventuelle endringer du gjør ikke blir lagret med mindre/før du har skriveadgangsrettigheter." & _Chr (13) & Chr (13) & "Velg File, SaveAs for å lagre en kopi før du arbeider i denne filen." & vbNewLine & vbNewLine & "Forstår du?", vbExclamation + vbYesNo, "ADVARSEL!")Hvis svar = vbNo Så går GoTo RepeatMsg 'Repeat til brukeren klikker "Ja"Slutt Sub

VBA Gå til en linjelabel i Access VBA

Alle eksemplene ovenfor fungerer nøyaktig det samme i Access VBA som i Excel VBA.

1234567 Sub TestGoTo ()Ved feil GoTo endingDoCmd.OpenForm "FrmClients"Avslutt Subslutt:MsgBox "Kan ikke åpne skjema"Slutt Sub

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave