Come utilizzare l'istruzione goto nel codice vba?

L’istruzione VBA GoTo aiuta l’esecuzione del codice a passare a una riga specifica nella procedura. In termini semplici, con l’istruzione goto, VBA salta su una determinata riga specificata. Ad esempio, se hai specificato di passare alla seconda riga, vai salterà a quella riga.

Come utilizzare l’istruzione VBA GoTo nel codice

  1. Per prima cosa devi usare l’istruzione goto.
  2. Dopodiché devi definire dove vuoi che VBA vada da goto.
  3. Successivamente, crea il tag per creare questo luogo nella procedura.
  4. Alla fine, aggiungi le righe di codice che desideri eseguire.
vba-go-to-statement-in-code
 Sub vba_goto() GoTo Last Range ("A1"). Select Last : Range ("A12"). Select End Sub

Vai a per ripetere un codice

Puoi anche utilizzare l’istruzione go to per ripetere il codice utilizzando una serie di condizioni.

 Sub goto_repeat() Dim iMessage As String Question:    iMessage = InputBox("what's the day today?") If iMessage <> "tuesday" Then    MsgBox ("wrong answer, try again.") GoTo Question Else    MsgBox ("that's the right answer.") End If End Sub

Quando esegui il codice sopra ti verrà chiesto il nome del giorno e se inserisci qualcosa di diverso da “Martedì” ripeterà la domanda. Se guardi il codice, puoi vedere che dobbiamo usare l’istruzione goto e l’ istruzione if .

Ora, quando l’utente inserisce qualcosa di diverso dalla risposta corretta, l’istruzione goto forza VBA a ripetere il codice. (ma ogni volta che usi questo tipo di codici devi stare molto attento perché può creare un loop infinito.

VBA Vai alla fine

Puoi anche uscire da un sub usando l’istruzione goto.

vba-vai alla fine

Nel codice precedente, abbiamo utilizzato il tag “last” subito prima dell’istruzione end e quando VBA raggiunge l’istruzione GoTo, fa passare VBA a “Last” alla fine della procedura.

Istruzione GoTo per andare a una riga in un’altra subroutine

Bene, andare all’istruzione è abbastanza utile per far saltare VBA da un posto all’altro, ma non è possibile farlo saltare a un’altra procedura nel modulo .

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *