VBA Exit Sub o Function

In VBA, puoi uscire da un Sub o da una funzione, usando il Esci Sotto o Esci dalla funzione comandi.

1 Esci Sotto
1 Esci dalla funzione

Quando l'esecuzione del codice arriva a Esci Sotto o Esci dalla funzione, uscirà da Sub o Function e continuerà con qualsiasi altra esecuzione di codice.

Se vuoi imparare come uscire da un Sub in caso di errore, fai clic su questo link: VBA On Error Exit Sub

Se vuoi imparare come terminare l'esecuzione di un intero codice, clicca su questo link: VBA End

Esci da un sottotitolo in VBA

Vedrai nell'esempio cosa succede quando usiamo il Esci Sotto comando in un Sub. Abbiamo creato un sottotitolo ExitSub, che ha il Esci Sotto comando all'interno. il sottotitoloCallExitSub chiama questo Sub. Ecco il codice:

123456789101112131415161718 Private Sub ExitSub()Dim i As IntegerPer i = da 1 a 10Se i = 5 AlloraEsci SottoMsgBox "Il valore di i è" & iFinisci seAvanti ioFine sottotitoloPrivate Sub CallExitSub()Chiama ExitSubMsgBox "Esci da sub"Fine sottotitolo

Nel ExitSub, inseriamo prima il ciclo For se il valore di i è inferiore a 10:

123 Per i = da 1 a 10Avanti io

Successivamente controlliamo se il valore di i è uguale a 5, utilizzando il comando If. Se il valore è 5, vogliamo uscire da Sub e restituire la casella Messaggio con il valore i:

1234 Se i = 5 AlloraEsci SottoMsgBox "Il valore di i è" & iFinisci se

Se la condizione non è soddisfatta, la seguente istruzione aumenta i di 1 ed entra nuovamente nel ciclo For:

1 Avanti io

Nel CallExitSub, chiamiamo prima il Sub ExitSub:

1 Chiama ExitSub

Dopodiché restituiamo la casella del messaggio:

1 MsgBox "Esci da sub"

Se esegui il CallExitSub, chiamerà prima il ExitSub. Se esegui questo codice in modalità debug, vedrai che passerà attraverso il ciclo 5 volte. Nel 5ns iterazione, il valore della variabile i diventa 5 e il codice entra nel corpo If. Ora il sottotitolo ExitSub si esce e si ritorna al CallExitSub. La riga successiva è MsgBox “Esci da sub”:

Come puoi vedere, il ExitSub è uscito subito dopo Esci Sotto comando, quindi il MsgBox “Il valore di i è” & i non verrà mai eseguito.

Uscire da una funzione in VBA

L'uscita da una funzione in VBA è simile all'uscita da un Sub, solo il comando è Esci dalla funzione. Nell'esempio, abbiamo creato il ExitFunc che restituisce un numero intero. il sottotitolo Funzione CallExit chiama questa funzione. Ecco il codice:

1234567891011121314151617181920 Funzione privata ExitFunc() As IntegerDim i As IntegerPer i = da 1 a 10Se i = 5 AlloraExitFunc = iEsci dalla funzioneFinisci seAvanti ioFine funzionePrivate Sub CallExitFunction()Dim intFunc As IntegerintFunc = ExitFunction()MsgBox "Il valore di intFunc è " & intFuncFine sottotitolo

Nel ExitFunc, inseriamo prima il ciclo For se il valore di i è inferiore a 10:

123 Per i = da 1 a 10Avanti io

Successivamente controlliamo se il valore di i è uguale a 5, utilizzando il comando If. Se il valore è 5, assegniamo il valore di i al risultato della funzione e usciamo dalla funzione:

1234 Se i = 5 AlloraExitFunc = iEsci dalla funzioneFinisci se

Se la condizione non è soddisfatta, la seguente istruzione aumenta i di 1 ed entra nuovamente nel ciclo For:

1 Avanti io

Nel Funzione CallExit, chiamiamo prima la funzione ExitFunc: Per farlo dobbiamo dichiarare la variabile intFunc digitare intero e assegnare il risultato di ExitFunc funzione ad esso:

123 Dim intFunc As IntegerintFunc = ExitFunction()

Dopodiché restituiamo la casella Messaggio con il valore di intFunc:

1 MsgBox "Il valore di intFunc è " & intFunc

Se esegui il Funzione CallExit, chiamerà prima la funzione ExitFunc. Se esegui questo codice in modalità debug, vedrai che passerà attraverso il ciclo 5 volte. Nel 5ns iterazione, il valore della variabile i diventa 5 e il codice entra nel corpo If. Ora il valore di ExitFunc diventa i e si esce dalla funzione e si ritorna al Funzione CallExit. La riga successiva è MsgBox “Il valore di intFunc è ” & intFunc:

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

wave wave wave wave wave