Compartir a través de


Instrucción For...Next

Repite un grupo de instrucciones un número determinado de veces.

Sintaxis

Parael contador=startToend [ Stepstep ]
[ instrucciones ]
[ Exit For ]
[ instrucciones ]
[ contador ] Next

La sintaxis de la instrucción For...Each...Next consta de estas partes:

Parte Descripción
counter Obligatorio. Variable numérica que se utiliza como contador de bucle. La variable no puede ser un booleano o un elemento matriz.
start Obligatorio. Valor inicial de contador.
end Obligatorio. Valor final de contador.
step Opcional. La cantidad que aumenta contador cada vez que se recorre el bucle. Si no se especifica, el valor predeterminado de paso es uno.
statements Opcional. Una o más instrucciones entre For y Next que se ejecutan un número determinado de veces.

Comentarios

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

Valor El bucle se ejecuta si
Positivo o 0 Contador<= end
Negativo Contador>= end

Una vez que se hayan ejecutado todas las instrucciones del bucle, step se agrega a contador. Llegado este punto, bien las instrucciones del bucle se ejecutan de nuevo (según la misma prueba que provocó la ejecución inicial del bucle), bien se sale del bucle y la ejecución continúa con la instrucción que sigue a la instrucción Next.

Sugerencia

Cambiar el valor de contador dentro de un bucle podría hacer el código más difícil de leer y depurar.

Cualquier número de instrucciones Exit For pueden colocarse en cualquier lugar del bucle como forma alternativa para salir. Exit For se utiliza a menudo después de evaluar alguna condición, por ejemplo If... Then, y transfiere el control a la instrucción que viene justo después de Next.

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

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

Nota:

Si omite contador en una instrucción Next, la ejecución continúa como si contador estuviera incluido. Si se encuentra una instrucción Next antes de su instrucción For correspondiente, se produce un error.

Ejemplo

Este ejemplo usa la instrucción For...Next para crear una cadena que contiene 10 instancias de los números de 0 a 9; cada cadena está separada de las demás por un único espacio. El bucle externo utiliza una variable de contador de bucle que disminuye cada vez que se recorre el bucle.

Dim Words, Chars, MyString 
For Words = 10 To 1 Step -1 ' Set up 10 repetitions. 
 For Chars = 0 To 9 ' Set up 10 repetitions. 
 MyString = MyString & Chars ' Append number to string. 
 Next Chars ' Increment counter 
 MyString = MyString & " " ' Append a space. 
Next Words 

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.