Uso de For... Instrucciones Next

Usar para... Instrucciones siguientes para repetir un bloque de instrucciones un número específico de veces. Para los bucles use una variable contador cuyo valor aumente o disminuya con cada repetición del bucle.

El siguiente procedimiento hace que el equipo haga sonar un bit 50 veces. La instrucción For especifica la variable contador y sus valores de inicio y finalización. La instrucción Next incrementa la variable contador en 1.

Sub Beeps() 
    For x = 1 To 50 
        Beep 
    Next x 
End Sub

Con la palabra clave Step, puede aumentar o disminuir la variable de contador según el valor especificado. En el ejemplo siguiente, la variable j de contador se incrementa en 2 cada vez que se repite el bucle. Cuando finaliza el bucle, total es la suma de 2, 4, 6, 8 y 10.

Sub TwosTotal() 
    For j = 2 To 10 Step 2 
        total = total + j 
    Next j 
    MsgBox "The total is " & total 
End Sub

Para disminuir la variable contador, use un valor Step negativo. Para disminuir la variable contador, debe especificar un valor final que sea menor que el valor inicial. En el siguiente ejemplo, la variable contador myNum disminuye en 2 cada vez que se repite el bucle. Cuando el bucle finaliza, total es la suma de 16, 14, 12, 10, 8, 6, 4 y 2.

Sub NewTotal() 
    For myNum = 16 To 2 Step -2 
        total = total + myNum 
    Next myNum 
    MsgBox "The total is " & total 
End Sub

Nota

[!NOTA] No es necesario incluir el nombre de la variable contador después de la instrucción Next. En los ejemplos anteriores, el nombre de la variable contador se incluía para facilitar la lectura.

Puede salir de un for... Instrucción Next antes de que el contador alcance su valor final mediante la instrucción Exit For . Por ejemplo, cuando se produce un error, use la instrucción Exit For en el bloque de instrucciones True de una instrucción If...Then...Else o bien de una instrucción Select Case que busque específicamente el error. Si no se produce el error, if ... A continuación... Else instrucción is False, and the loop will continue to run as expected.

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.