VBA GoTo a Line Label

L'istruzione GoTo in VBA ti consente di passare a una riga di codice.

Per prima cosa crea un'etichetta di riga in qualsiasi punto del codice:

1 Saltare:

Quindi aggiungi all'istruzione "GoTo" per passare all'etichetta della riga

1 Vai a Salta

Vai a esempi

Questo esempio verifica l'anno. Se l'anno è il 2022 o successivo, andrà all'etichetta Salta la fila. Ciò consente di saltare il codice se vengono soddisfatte determinate condizioni.

123456789101112 Sub GoTo_Example()Dim year As Integeranno = 2019Se anno >= 2019 Allora vai a Salta'Elabora dati per anni < 2022'MsgBox "L'anno è precedente al 2022"Saltare:Fine sottotitolo

Vai a etichette di più righe

È inoltre possibile utilizzare le istruzioni GoTo per passare alle righe di codice pertinenti. Adeguiamo il nostro esempio precedente per andare a posizioni di codice diverse in base a quale anno è:

1234567891011121314151617181920212223242526272829303132 Sub GoTo_Dichiarazione()Dim year As Integeranno = 2019Se anno = 2019 AlloraGoTo anno2019ElseIf anno = 2010 AlloraVai all'anno2020AltroVai all'anno 2021Finisci seanno2019:"Processo 2022"MsgBox "L'anno è il 2022"Vai a EndProcanno2020:"Processo 2022"MsgBox "L'anno è il 2022"Vai a EndProcanno2021:"Processo 2022+"MsgBox "L'anno è il 2022+"EndProc:Fine sottotitolo

Notare "GoTo EndProc" prima di ogni etichetta di riga. Abbiamo aggiunto questa riga di codice in modo che quelle sezioni di codice vengano saltate a meno che non vi si acceda dal relativo "GoTo".

GoTo Error Handler Fine della procedura

Ora usiamo Gestione degli errori per andare alla fine della procedura se c'è un errore.

123456789101112 Sub GoTo_OnError ()Dim i As IntegerIn caso di errore Vai a EndProcio = 5 / 0MsgBox ioEndProc:Fine sottotitolo

Vai al codice di ripetizione

Il nostro ultimo esempio utilizzerà l'istruzione GoTo per ripetere del codice.

Di seguito utilizziamo una casella di messaggio Sì/No (fare clic per ulteriori informazioni) per confermare che l'utente riconosce l'avviso. Se fanno clic su "No", la finestra di messaggio verrà visualizzata di nuovo finché non faranno clic su "Sì" (vedi GIF di seguito).

1234567891011 Sub GoTo_YesNoMsgBox()RipetiMsg:Dim risposta come numero interoanswer = MsgBox("ATTENZIONE: questo file è stato aperto come file di sola lettura, il che significa che tutte le modifiche apportate non verranno salvate a meno che/finché non si disponga dei diritti di accesso in scrittura. " & _Chr(13) & Chr(13) & "Seleziona File, Salva con nome per salvare una copia prima di lavorare su questo file." & vbNewLine & vbNewLine & "Hai capito?", vbExclamation + vbSìNo, "ATTENZIONE!")Se risposta = vbNo Allora GoTo RepeatMsg 'Ripeti finché l'utente non fa clic su "Sì"Fine sottotitolo

VBA GoTo a Line Label in Access VBA

Tutti gli esempi precedenti funzionano esattamente allo stesso modo in Access VBA come in Excel VBA.

1234567 Sub TestGoTo()In caso di errore GoTo finaleDoCmd.OpenForm "FrmClients"Esci Sottofine:MsgBox "Impossibile aprire il modulo"Fine sottotitolo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave