Vuoi automatizzare le attività ripetitive in Excel VBA? Scopri come utilizzare il ciclo Do-While per eseguire ripetutamente una serie di azioni finché non viene soddisfatta una condizione.

I loop sono parte integrante di qualsiasi linguaggio di codifica e puoi automatizzare molte attività ripetitive, utilizzando una varietà di loop, a seconda della lingua a portata di mano. Il VBA di Excel non è diverso dagli altri, poiché offre una serie di opzioni di looping, ognuna con uno scopo diverso.

È possibile utilizzare questi loop definendo i punti di inizio e di fine, le condizioni e i parametri. Uno di questi cicli importanti all'interno di VBA è il ciclo do-while, che puoi utilizzare per lavorare con l'automazione dei dati. Ecco come utilizzare il ciclo do-while di Excel VBA, una metodologia di looping sempre essenziale, che può semplificare notevolmente le attività manuali.

Qual è il ciclo Do-While in Excel VBA?

Il ciclo do-while è piuttosto semplice; puoi utilizzare questo ciclo per eseguire le tue offerte se desideri generare un output desiderato in base a una condizione specifica. Il ciclo viene eseguito fino a quando le condizioni definite non sono True. Una volta che il programma incontra un valore False, il ciclo termina e stampa i risultati nelle celle designate.

instagram viewer

Puoi usare il ciclo do-while in varie fasi e con diversi criteri; puoi persino utilizzare più loop all'interno del loop esterno principale per migliorarne l'utilizzo. Come principiante, dovresti fare riferimento a elaborare Tutorial di programmazione VBA per approfondire le tue conoscenze e abilità all'interno di questo dominio.

Sintassi del ciclo Do-While in Excel VBA

Il ciclo do-while ha una struttura predefinita, che devi seguire, per assicurarti che funzioni senza problemi senza incorrere in errori. Ecco la sintassi di riferimento:

FareMentre [condizione_riferimento]

[Dichiarazioni sui criteri]

Ciclo continuo

Il ciclo inizia con la parola chiave do-while, seguita dai riferimenti iniziale e finale. La prima parte della sintassi controlla l'intero ciclo. Successivamente, è necessario definire le istruzioni che verranno eseguite ogni volta che viene eseguito il ciclo.

Infine, una volta che la condizione del ciclo assume un valore False, la parola chiave loop viene eseguita ed esce dal ciclo. Questa è una struttura complessiva; puoi perfezionarlo per eseguire diverse azioni. Ecco alcuni esempi per familiarizzare con il funzionamento di un ciclo do-while.

Scrivere il tuo primo codice Do-While Loop

Supponiamo di voler visualizzare i multipli di due nella colonna A. La condizione è stampare i numeri finché il contatore non raggiunge 20.

Per fare ciò, vai alla scheda Sviluppatore sul tuo Excel e apri l'editor di codifica; in alternativa, premere Alt+F11 per aprire direttamente l'editor di codice. All'interno della finestra dell'editor di codice, fare clic su Inserire scheda e aggiungere un nuovo modulo.

Devi scrivere tutto il codice all'interno di questa finestra del modulo. Aggiungere il seguente codice all'interno del modulo:

Sub dowhileloop()

Dim a COME Numero intero

un = 1

FareMentre un <= 10

Celle (a, 1) = 2 * a

a = a + 1

Ciclo continuo

FINE Sub

Il codice spiegato

Ecco una ripartizione del codice per aiutarti a padroneggiare le basi:

  • Usa sottoroutine: Per iniziare a scrivere il codice in Excel VBA, creare una shell esterna con una funzione di sottoroutine (Sub). Dagli un nome significativo, che risuoni con lo scopo del codice. In questo esempio, puoi usare il nome dowhileloop, seguito da ().
  • Definisci tipi di dati: La funzione dimensione (dim) deve essere utilizzata per dichiarare i tipi di dati variabili. Dichiarando il tipo di dati, puoi rendere efficiente il tuo codice e migliorare la velocità di esecuzione. In questo caso la variabile UN memorizza valori interi, quindi utilizzare il tipo di dati integer per definirlo. È possibile memorizzare il numero di riga iniziale all'interno di questa variabile, per dichiarare il punto dati iniziale del ciclo do-while.
  • Definisci condizione/i: Ora è il momento di passare la condizione per controllare il ciclo do-while. Puoi usare il fare durante parole chiave, seguite dalla condizione. Poiché si desidera eseguire il ciclo dieci volte, si utilizza la condizione un < = 10.
  • Passa le istruzioni eseguibili: È importante che tu sappia la differenza tra il La funzione Celle e la funzione Range in VBA. La funzione celle utilizza i riferimenti di riga e colonna all'interno di VBA. Ad esempio, durante la prima iterazione, quando il valore di a =1, la formula della cella è (1,1). Nella memoria di VBA, questo si traduce nella cella A1. Ogni volta che il ciclo viene eseguito, il valore della variabile definita viene incrementato e il riferimento si sposta alla successiva cella disponibile.
  • Incrementa la tua variabile: Puoi passare a = a + 1 istruzione per incrementare i valori della cella. Questo sposta il ciclo alla parte successiva della condizione; il ciclo continua a essere eseguito fino a quando la condizione assume un valore False.
  • Uscire dalla condizione Loop: Una volta che la condizione è False, il ciclo esce con la parola chiave Loop e, infine, esce dalla subroutine con la parola chiave End Sub.
  • Esecuzione del codice: Poiché il codice è pronto, basta premere il Tasto F5 o il pulsante di riproduzione verde sulla barra dei menu in alto per eseguire il codice.

Il risultato finale mostra un elenco di numeri da 2 a 20 all'interno della colonna A.

Utilizzo di una colonna precompilata come condizione del ciclo

Ora che hai compreso la sintassi e le sfumature della costruzione di una struttura di base, perché non scrivere un altro codice per stampare numeri simili basati su criteri preesistenti? Ad esempio, è possibile creare una condizione di ciclo che prenda il segnale dalla colonna A e stampi l'output nella colonna B.

In base al totale delle celle popolate nella colonna A, puoi stampare multipli di due nella colonna B. Il ciclo esegue il conteggio totale delle celle precompilate della colonna A di base. Poiché il valore della riga iniziale è uno (a =1), il valore finale è dinamico e viene calcolato automaticamente dal ciclo do-while.

Usando il suo valore di riga, il codice scorre ogni cella nella colonna A e moltiplica il numero per 2. L'output è mostrato nella colonna B.

Se ci sono più di dieci valori nella colonna A, il ciclo verrà eseguito finché non incontrerà un valore vuoto nella prima colonna. Allo stesso modo, puoi scrivere condizioni ancora più complesse all'interno del ciclo do-while e usarlo per controllare le condizioni e visualizzare l'output secondo necessità.

Utilizzo di un'istruzione IF all'interno di un ciclo Do-While

Come i cicli nidificati, puoi usare l'istruzione IF all'interno del ciclo Do-While, per aggiungere un altro livello di condizione. In tal caso, il ciclo do-while esegue l'intero ciclo finché la condizione non diventa False e l'istruzione IF interna viene eseguita ogni volta che viene eseguito il ciclo.

Nell'esempio seguente, il ciclo do-while scorre ogni cella nella colonna A, finché non incontra una cella vuota. Successivamente, l'istruzione IF controlla il valore di ogni cella nella colonna A e stampa l'output nella colonna B. Non appena il ciclo esterno incontra una cella vuota nella colonna A, il ciclo si interrompe ed esce dalla subroutine.

L'output è il seguente:

Finché il valore nella colonna A è inferiore a cinque, il valore risultante nella colonna B è cinque. In A6, poiché il valore della cella è maggiore di cinque, l'output risultante è sette, in sincronia con la condizione IF.

Svelare le molteplici funzionalità di VBA

Excel e VBA formano una combinazione molto favorevole per l'esecuzione di analisi avanzate dei dati. Anche senza VBA, puoi utilizzare varie funzioni logiche di Excel per eseguire compiti complicati, esemplificando le tue capacità di programmazione.

Se sei interessato all'analisi dei dati e utilizzi Excel nelle tue normali attività, puoi trarre enormi vantaggi dall'utilizzo delle molteplici funzioni logiche di Excel.