VBA Do Until Loop

Cos'è Do Until Loop in VBA Excel?

In VBA Do Until Loop , dobbiamo definire i criteri dopo l'istruzione until, il che significa quando vogliamo che il ciclo si fermi e l'istruzione end è il ciclo stesso. Quindi, se la condizione è FALSE, continuerà a eseguire l'istruzione all'interno del ciclo, ma se la condizione è TRUE immediatamente uscirà dall'istruzione Do Until.

Poiché le parole stesse dicono che per fare un compito fino a quando non viene raggiunto un criterio, Do until the loop viene utilizzato in quasi tutti i linguaggi di programmazione, anche in VBA a volte usiamo Do until loop. Do Until Loop significa fare qualcosa finché la condizione non diventa TRUE. È come se una funzione logica fosse basata su VERO o FALSO.

Questo è l'opposto del ciclo Do While dove Do while esegue i cicli finché la condizione è TRUE.

Sintassi

Il ciclo Do Until ha due tipi di sintassi.

Sintassi # 1 

 Esegui fino al ciclo [condizione] [Esegui alcune attività] 

Sintassi # 2

 Esegui [Esegui alcune attività] Ripeti fino a [condizione] 

Entrambi sembrano molto simili e c'è una semplice differenziazione.

Nella prima sintassi il ciclo "Do Until" controlla prima la condizione e ottiene il risultato della condizione TRUE o FALSE. Se la condizione è FALSE, eseguirà il codice ed eseguirà un'attività specificata e se la condizione è TRUE, uscirà dal ciclo.

Nel secondo ciclo di sintassi "Do" prima eseguirà il task cod, quindi verificherà se la condizione è TRUE o FALSE. Se la condizione è FALSE, tornerà indietro ed eseguirà la stessa operazione. Se la condizione è TRUE, uscirà immediatamente dal ciclo.

Esempio

So che non è così facile capire nulla nella parte teorica, ma niente di cui preoccuparsi. Ti forniremo semplici esempi per comprendere il ciclo. Continuare a leggere. Per iniziare l'apprendimento, eseguiamo il compito di inserire i primi 10 numeri di serie dalla cella A1 alla A10.

Puoi scaricare questo modello VBA fino a Excel qui - Modello VBA fino a Excel

Seguire i passaggi seguenti per applicare il ciclo "Do Until".

Passaggio 1: creare prima un nome macro per avviare la sottoprocedura.

Codice:

 Sub Do_Until_Example1 () End Sub 

Passaggio 2: definire una variabile come "Long".  Ho definito "x" come un tipo di dati lungo.

Dim x As Long

Passaggio 3: ora inserisci la parola "Do Until".

Fai fino a

Passaggio 4: dopo aver avviato il nome del loop, immettere la condizione "x = 11".

 Fai fino a x = 11

x = 11 è il test logico che abbiamo applicato. Quindi questa riga dice di eseguire il ciclo fino a quando x è uguale a 11.

Passaggio 5: applica la proprietà CELLS e inseriamo i numeri di serie da 1 a 10.

Celle (x, 1) .Valore = x

Nota: qui abbiamo detto che "x" inizia da 1, quindi al primo valore x è uguale a 1. Ovunque "x" è uguale a 1.

Passaggio 6: ora chiudere il ciclo inserendo la parola "LOOP".

 Sub Do_Until_Example1 () Dim x As Long Do Until x = 11 celle (x, 1) .Value = x Loop 

End Sub

Ok, abbiamo finito con la parte di codifica, ora testeremo i codici riga per riga per capire meglio il loop.

Per eseguire il codice riga per riga, premere prima il tasto F8.

Per prima cosa evidenzierà il nome della macro con il colore giallo.

Quando puoi vedere la linea gialla, dice che non viene eseguita da sta per eseguire se premi il tasto F8 ancora una volta.

Ora premi il tasto F8 ancora una volta, la linea gialla andrà a Do Until Loop.

Ora per capire il ciclo posizionare un cursore sulla variabile "x" e vedere il valore della variabile "x".

Quindi, x = 0. Poiché la riga evidenziata è la prima riga del ciclo, quindi il valore di "x" è zero, quindi premere di nuovo il tasto F8 e vedere il valore di "x". Prima di tale uscita, il codice in esecuzione e assegna il valore a "x" come 1.

Ora inizia di nuovo l'esecuzione di un ciclo premendo il tasto F8. Vedere il valore di "x".

Ora il valore di "x" viene visualizzato come 1. Per avere un valore incrementale alla variabile "x" dobbiamo riassegnare il valore della variabile "x" come x = x + 1 all'interno del ciclo.

Ora premi il tasto F8 ancora una volta e dovremmo ottenere il valore di 1 nella cella A1.

Ora premi di nuovo il tasto F8 e guarda qual è il valore di "x".

Il valore della variabile "x" è 2 ora. Quindi la nostra condizione dice di eseguire il ciclo finché la condizione non diventa TRUE, quindi il nostro ciclo continua a funzionare finché il valore di "x" diventa 11.

Premere F8 ancora una volta per tornare alla linea del ciclo "Do Until".

Premere il tasto F8 altre due volte, otterremo il valore di 2 nella cella A2.

Premere nuovamente il tasto F8 e il valore di "x" diventa 3 ora.

Premere di nuovo il tasto F8 per tornare nuovamente al ciclo.

In questo modo, questo ciclo continuerà a eseguire nuovamente l'attività finché il valore di "x" diventa 11. Ora ho eseguito il ciclo finché il valore "x" diventa 11.

Ora se premo F8 tornerà comunque al ciclo.

Ma se premo ora il tasto F8 uscirà dal ciclo perché la condizione applicata diventa "TRUE" cioè x = 11.

Quindi ora abbiamo i numeri di serie da 1 a 10 nel foglio Excel.

Quindi, questa è l'idea di base del ciclo "Do Until". Per comprendere i loop è necessario eseguire il codice riga per riga fino a ottenere la piena conoscenza dei loop.