Instrucción For...Next
Repite un grupo de instrucciones mientras el contador de bucles se aproxima a su valor final.
Sintaxis
Forcounter=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 | counter<= end |
Negativo | counter>= 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
- Hacer que los bucles For…Next se ejecuten más rápido
- Usar instrucciones For…Next
- Instrucción For Each...Next
- Tipos de datos
- Instrucciones
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.