i cicli scritti sotto questo tipo di struttura vengono chiamati "nidificati" poichè, come è facile notare, sono posti uno dentro l'altro.
come puoi vedere, le variabili accanto ad ogni next sono in una sequenza che rispetta l'ordine inverso dell'apertura di ogni ciclo.
già questo ti fa pensare che il ciclo più interno viene eseguito il numero di volte "comandato" dal ciclo più esterno.
quindi, come ti faceva notare Maximum, il ciclo For i = 1 to 1000 verrà eseguito 3 volte... per un totale di 3000 iterazioni.
se avessi una struttura del genere, invece:
For A = 1 to 10
For B = 1 to 20
For C = 1 to 30
....
....
Next C
Next B
Next A
il ciclo B verrà eseguito 10 volte, il ciclo C invece 200 volte quindi C subirà 600(*) iterazioni...
puoi nidificare un numero indefinito di cicli, se hai la necessità di farlo... e quindi, benchè non sia strettamente necessario per la correttezza della sintassi, ti consiglio di specificare sempre la variabile su cui è impostato il ciclo, nell'istruzione Next.
per interrompere l'esecuzione di un ciclo al verificarsi di una certa condizione è possibile utilizzare l'istruzione Exit For.
(*) errata corrige : sono 6000 iterazioni.
TheTruster