Ripete un gruppo di istruzioni un numero specificato di volte.
Sintassi
For counter=start To end [Step step]
[statements]
[Exit For]
[statements]
Next
Argomenti:
Counter: variabile numerica utilizzata come contatore dei loop. La variabile non può essere un elemento dell'array o un elemento di un tipo definito dall'utente.
Start: valore iniziale del contatore.
End: valore finale del contatore.
Step: valore della variazione del contatore a ogni iterazione del loop. Se non viene specificato, l'argomento step viene impostato automaticamente su uno.
Statements: una o più istruzioni tra For e Next che vengono eseguite il numero specificato di volte.
Note
L'argomento step può essere positivo o negativo. Il valore dell'argomento step determina l'elaborazione del loop come indicato di seguito.
Table 11-33 Esecuzioni dei loop
| Valore | Il loop viene eseguito se |
|---|---|
| Positivo o 0 | counter <= end |
| Negativo | counter >= end |
Una volta avviato il loop ed eseguite tutte le istruzioni in esso contenute, il passo viene aggiunto al contatore. A questo punto, le istruzioni nel loop vengono eseguite di nuovo (in base allo stesso test che ha causato l'esecuzione iniziale del loop) oppure il loop viene chiuso e l'esecuzione continua con l'istruzione successiva all'istruzione Next.
Note:
La modifica del valore del contatore all'interno di un loop può rendere più difficile la lettura e il debug del codice.
L'istruzioneExit For può essere utilizzata solo all'interno di una struttura di controllo For Each...Next o For...Next per fornire un modo alternativo per uscire. In qualsiasi punto del loop è possibile inserire un numero qualsiasi di istruzioni Exit For. L'istruzione Exit For viene spesso utilizzata con la valutazione di alcune condizioni (ad esempio, If...Then) e trasferisce il controllo all'istruzione immediatamente successiva a Next.
È possibile nidificare i loop For...Next inserendo un loop For...Next all'interno di un altro loop. Assegnare a ciascun loop un nome di variabile univoco come contatore. La seguente struttura è corretta:
Esempio 1
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
Next
Next
Next
Esempio 2: esecuzione passo a passo positiva
Dim i
For i = 1 To 3 Step 2
'"Countdown: " & i
Next
'Output:
'Countdown: 1
'Countdown: 3
Esempio 3: esecuzione passo a passo negativa
Dim i
For i = 3 To 1 Step -2
'"Countdown: " & i
Next
'Output:
'Countdown: 3
'Countdown: 1