VBA Break For Loop - Come uscire da For Loop in Excel VBA?

Excel VBA Break For Loop

In VBA Break For Loop è anche noto come exit for loop, a ogni loop in qualsiasi procedura sono state fornite alcune serie di istruzioni o criteri per eseguire senza tempo, ma è molto comune che alcuni loop entrino in un loop infinito corrompendo così il codice in tali scenari abbiamo bisogno di break for o exit for loop per uscire da determinate situazioni.

Supponiamo di aver istruito il ciclo in modo che venga eseguito per 10 volte e, in base alla condizione fornita, se il valore della cella o qualsiasi altro criterio fornito ha esito positivo, deve uscire dal ciclo Excel prima di completare la quota del ciclo completo di 10. In questo articolo, ti mostreremo come uscire dal ciclo in base ai criteri forniti.

Come interrompere / uscire dai loop in VBA?

# 1 - Pausa per il prossimo ciclo

VBA For Next Loop viene utilizzato per eseguire il loop sulle celle ed eseguire una serie specifica di attività. Ad esempio, guarda il codice VBA sottostante.

Codice:

Sub Exit_Loop () Dim K As Long For K = da 1 a 10 celle (K, 1) .Value = K Next K End Sub

Questo inserirà i numeri di serie dalla cella A1 alla A10.

Questa è la cosa ovvia con For Next Loop.

Ora voglio interrompere il ciclo quando viene trovato un valore nelle prime 10 celle. Per questo, ho inserito un valore di testo nella cella A8.

Ora voglio istruirlo nel codice, dicendo: "se la cella del ciclo ha un certo valore, deve uscire dal ciclo prima del limite predeterminato."

Codice:

Sub Exit_Loop () Dim K As Long For K = 1 to 10 If Cells (K, 1) .Value = "" Then Cells (K, 1) .Value = K Else Exit For End If Next K End Sub

Guarda queste righe di codice:

If Cells (K, 1) .Value = "" Then
Cells (K, 1) .Value = K
Else
Exit For
End If

Dice If Cells (K, 1). Value = "looping cell is equal to nothing continue the loop of inserting serial numbers from 1 to 10.

L'ultima parte del ciclo dice:

Altro

Esci per

Se la condizione precedente non è TRUE, il ciclo "Exit For".

Ora esegui il codice. Inserirà i numeri di serie fino alla cella A7.

Il codice precedente è uscito immediatamente dal ciclo senza dire nulla; come sappiamo che è uscito dal ciclo.

Per cancellare questa ambiguità, dobbiamo inserire una semplice finestra di messaggio VBA di seguito.

Codice:

Sub Exit_Loop () Dim K As Long For K = 1 To 10 If Cells (K, 1) .Value = "" Then Cells (K, 1) .Value = K Else MsgBox "Abbiamo una cella non vuota, nella cella" & Celle (K, 1) .Address & vbNewLine & "Stiamo uscendo dal ciclo" Exit For End If Next K End Sub

Quando si esegue il ciclo attraverso la cella, se viene trovata una cella non vuota, verrà visualizzato il messaggio che dice: "Abbiamo una cella non vuota, nella cella A8. Stiamo uscendo dal giro ”.

Questo informerà l'utente dell'uscita dal loop anche con un indirizzo di cella. Se viene inserito un valore per errore, possiamo controllare l'indirizzo della cella restituito nella finestra del messaggio.

# 2 - Break Do Until Loop

Analogamente a come siamo usciti dal ciclo For Next, allo stesso modo, possiamo uscire anche dal ciclo "Do Until". Ad esempio, guarda il codice seguente.

Codice:

Sub Exit_DoUntil_Loop () Dim K As Long K = 1 Do Until K = 11 celle (K, 1) .Value = KK = K + 1 Loop End Sub

Questo codice svolge anche il compito di inserire i numeri di serie. Ad esempio, se desideriamo uscire dal ciclo quando il valore della variabile "k" diventa 6, dobbiamo inserire i criteri come IF k = 6, quindi uscire dal ciclo.

Codice:

Sub Exit_DoUntil_Loop () Dim K As Long K = 1 Do Until K = 11 If K <6 Then Cells (K, 1) .Value = K Else Exit Do End If K = K + 1 Loop End Sub

Questo eseguirà il ciclo fino a quando il valore della variabile diventa 6. Dopodiché, uscirà dal ciclo. Se desideri mostrare il messaggio all'utente, puoi aggiungere anche la casella del messaggio.

Codice:

Sub Exit_DoUntil_Loop () Dim K As Long K = 1 Do Until K = 11 If K 5 "Exit Do End If K = K + 1 Loop End Sub

Questo mostrerà il messaggio qui sotto.

In questo modo, in base ai criteri forniti, possiamo uscire dal ciclo se i criteri sono VERO, oppure possiamo continuare il ciclo.

Articoli interessanti...