Come utilizzare vba exit sub in excel?
VBA Exit Sub è un’istruzione utilizzata per uscire da una procedura o funzione secondaria. Come sai, ogni riga è una macro che viene eseguita una dopo l’altra e quando aggiungi il VBA “Exit Sub”, esci dalla procedura senza eseguire il resto del codice che la segue. Funziona meglio con i loop e la finestra di messaggio .
Utilizzando l’istruzione Exit Sub in VBA
- Per prima cosa, decidi su quale linea vuoi aggiungere “Exit Sub”.
- Successivamente, controlla la struttura del codice che verrà eseguito quando esegui il codice .
- Successivamente, inserisci “Esci Sub”.
- In definitiva, è meglio avere un commento che descriva il motivo per cui stai utilizzando l’istruzione “Exit Sub”.
Nota: in una procedura di funzione VBA, l’istruzione da utilizzare è “Exit Function”.
Utilizzare Exit Sub con una casella di messaggio e una casella di input
Supponiamo di voler ottenere input dall’utente con una casella di input e uscire dalla procedura se la risposta dell’utente non è un numero (considera il seguente esempio).
Nel codice sopra hai ISNUMERIC che controlla il valore immesso nella casella di input se è un numero o meno, e se quel valore non è un numero utilizza l’istruzione Exit Sub per completare la procedura dopo aver visualizzato una finestra di messaggio.
Sub vba_exit_sub_example() If IsNumeric(InputBox("Enter your age.", "Age")) = False Then MsgBox "Error! Enter your Age in numbers only." Exit Sub Else MsgBox "Thanks for the input." End If End Sub
In caso di errore Esci da Sub
Una delle cose migliori di “Exit Sub” è che puoi usarlo per uscire dalla procedura quando si verifica un errore. Di seguito è riportato il codice che divide un numero per uno zero che restituisce un “Errore di runtime ’11′” e interrompe l’esecuzione.
Qui puoi utilizzare l’istruzione GoTo per creare un gestore di errori con “Exit Sub” per uscire dalla procedura (considera il codice seguente).
Sub vba_exit_sub_on_error() On Error GoTo iError Range("A1") = 10 / 0 iError: MsgBox "You can't divide with the zero." & _ "Change the code." Exit Sub End Sub
Nel codice sopra hai un gestore di errori, “iError” con una finestra di messaggio, quindi l’istruzione “Exit Sub”. Quando si verifica un errore durante il calcolo, l’istruzione goto passa al gestore degli errori ( VBA Error Handling ) e esce dalla procedura.