Anche se il tuo ragionamento “fila” non è proprio così Lory. Immagina una situazione del genere
For ty = a TO b
eseguendo un ciclo For, prima viene assegnato il valore rappresentato da
a alla variabile
ty, poi vengono eseguite tutte le istruzioni presenti nel ciclo fino a Next. Solo dopo viene incrementata la variabile ty di 1 e si ritorna all’inizio del ciclo ed è qui che avviene il confronto del valore corrente della variabile ty col valore rappresentato da
b. Se ty è minore o uguale a b esegue nuovamente il ciclo altrimenti esce dal ciclo
se modifichi il codice in questo modo
Codice:
Public Sub pippo()
Dim ty As Long
For ty = 1 To 1
Debug.Print ty
Next
MsgBox ty
End Sub
Se guardi nella finestra immediata il valore di ty è uguale a 1 e vengono eseguite le istruzioni all'interno del ciclo 1 sola volta, ma usciti dal ciclo la variabile ty ha valore 2, come è logico per quanto esposto poco sopra.
Diciamo che lo scopo del ciclo For è quello di eseguire un determinato n° di volte certe istruzioni, non di controllare le variabili, anche se sarebbe una bella cosa azzerare tutte le variabili usate all'uscita dai cicli.