Sentencia For…Next

Repite un grupo de sentencias un número especificado de veces.

Sintaxis

For counter=start To end [Step step]
    [statements]
    [Exit For]
    [statements]
Next

Argumentos:

  • Counter: variable numérica utilizada como contador de bucles. La variable no puede ser un elemento de matriz ni un elemento de un tipo definido por el usuario.

  • Start: valor inicial del contador.

  • End: valor final del contador.

  • Step: el contador de cantidad cambia cada vez que se ejecuta el bucle. Si no se especifica, step se define de forma predeterminada en uno.

  • Statements: una o más sentencias entre For y Next que se ejecutan el número especificado de veces.

Observaciones

El argumento step puede ser positivo o negativo. El valor del argumento step determina el procesamiento de bucle de la siguiente manera:

Table 11-33 Ejecuciones de bucle

Valor El bucle se ejecuta si
Positivo o 0 contador <= fin
Negativo contador >= fin

Una vez que el bucle se inicia y todas las sentencias del bucle se han ejecutado, se agrega el paso al contador. En este punto, las sentencias del bucle se vuelven a ejecutar (basadas en la misma prueba que causó que el bucle se ejecutara inicialmente) o el bucle se cierra y la ejecución continúa con la sentencia que sigue a la sentencia Next.

Note:

Cambiar el valor del contador mientras está en un bucle puede dificultar la lectura y depuración del código.

Exit For solo se puede utilizar en una estructura de control For Each...Next o For...Next para proporcionar una forma alternativa de salir. Se puede colocar cualquier cantidad de sentencias Exit For en cualquier parte del bucle. Exit For se utiliza a menudo con la evaluación de alguna condición (por ejemplo, If...Then) y transfiere el control a la sentencia inmediatamente posterior a Next.

Puede anidar bucles For...Next colocando un bucle For...Next dentro de otro. Asigne a cada bucle un nombre de variable único como contador. La siguiente construcción es correcta:

Ejemplo 1:

For I = 1 To 10
      For J = 1 To 10
            For K = 1 To 10
            Next 
     Next
Next

Ejemplo 2: pasos con valor positivo

Dim i
For i = 1 To 3 Step 2
    '"Countdown: " & i
Next
'Output:
'Countdown: 1
'Countdown: 3

Ejemplo 3: pasos con valor negativo

Dim i
For i = 3 To 1 Step -2
    '"Countdown: " & i
Next
'Output:
'Countdown: 3
'Countdown: 1