Loading...

WizBlog Logo WizBlog
Windows > Software > VBA: Usare i cicli For e Do While

Macro

VBA

VBA: Usare i cicli For e Do While

Da Redazione

Maggio 05, 2015

VBA: Usare i cicli For e Do While

Abbiamo illustrato nelle precedenti guide come si dichiarano le variabili, come si creano funzioni e procedure e come si usa la condizione If. Adesso parliamo invece delle condizioni For e Do While, quelle che ci permettono di sviluppare strumenti iterativi capaci di replicare più volte un calcolo fin quando necessario.

Differenzieremo i due cicli dopo averli presentati e spiegati per bene, altrimenti potrebbero risultare di difficile comprensione.

Presentiamo qui la sintassi di un ciclo For:
Posto un contatore i:

Dim i As Integer

for i=1 To 10
‘qui il codice che verrà ripetuto 10 volte
next i

La sintassi di un ciclo Do While invece è quella che segue:

Do While (i<10)
‘codice che verrà ripetuto fin quando i sarà minore di 10
Loop

Il ciclo for quindi controlla che il contatore sia minore di 10 (condizione di stop iterazione), esegue un certo codice se la condizione è vera, e incrementa per finire il contatore.

Il ciclo Do While controlla che i sia minore di 10 e, se vero, esegue una determinata porzione di codice fino alla stringa Loop.

VBA cicli for 1

La differenza sta che mentre nel for l’incremento del contatore è esplicito, nel Do While non lo è.

Il ciclo for quindi è un ciclo che arriverà sempre a conclusione (eccetto quei casi in cui il codice che viene iterato non decrementa a sua volta il contatore) mentre il ciclo Do While potrebbe anche finire in un loop infinito, bisogna esplicitare dunque l’incremento del contatore i.

Esiste inoltre il ciclo definito dalla sintassi:

Do
‘Porzione di codice da reiterare
Loop Until i<10

 

VBA cicli for 2

Anche in questo caso avremmo una iterazione ripetuta fin quando i resterà minore di 10, e anche in questo caso l’incremento del contatore dovrà essere da noi esplicitato per non finire in un loop senza fine. La differenza sta che in questo caso il controllo avviene a fine ciclo, e quindi qualunque sia il valore del contatore all’inizio almeno una volta la porzione di codice tra Do e Loop Until verrà eseguita.

Con questa sono terminate le guide inerenti i concetti base della programmazione in VBA, adesso dovrebbe esservi abbastanza chiaro come concatenando condizioni If, For, procedure e funzioni fra loro possiate fare qualunque tipo di calcolo possibile all’interno del vostro foglio Excel. Nella prossima guida invece vi mostreremo come richiamare una macro dal foglio di calcolo usando un bottone e come organizzarne l’ordine di esecuzione. Clicca qui per leggerla

Redazione Avatar

Redazione

Condividi con un amico