Para el siguiente bucle en Excel VBA

1. Bucle for simple _

Utilice la declaración For...Next cuando sepa cuántas veces necesita repetir una determinada declaración. Su sintaxis es la siguiente:

For 计数器 = 开始 To 结束 [step  步长]
    语句1
    语句2
    [Exit For]
    语句N
Next [计数器]

 

Desde el principio hasta el final, ejecute repetidamente el bloque de instrucciones entre For y Next, a menos que se encuentre la instrucción Exit For, saltará del bucle por adelantado. Entre ellos, el tamaño del paso, la instrucción Exit For y el contador después de Next son opcionales.

El contador es una variable digital que almacena el número de repeticiones. El inicio es el punto de conteo inicial que espera, y el final indica cuántas veces se debe ejecutar el bucle. El tamaño del paso es la cantidad de cambio del contador cada vez ( puede ser positivo o negativo).

 Cuando el programa encuentre la palabra clave Siguiente, volverá al principio del ciclo y ejecutará el código dentro del ciclo nuevamente hasta que el contador alcance el valor final. Una vez que el valor del contador es mayor que el valor detrás de la palabra clave To, el programa saldrá del bucle. Dado que la variable del contador se cambia automáticamente después de cada ejecución del bucle, tarde o temprano superará el valor final. Cada vez que el programa ejecuta la declaración en el bucle, el valor de la variable contador aumentará de manera predeterminada en 1. Puede usar la instrucción Step para cambiar esta configuración predeterminada. Por ejemplo, para incrementar el contador en 3, puede usar la siguiente instrucción:

For counter = 1 To 5 Step 3

Verificación: Asigne las celdas (1, 1), (4, 4) a 1 y 4 respectivamente

Sub test()
    For i = 1 To 5 Step 3
        Cells(i, i) = i
    Next i
End Sub

El programa necesitará ejecutar las instrucciones dentro del ciclo 2 veces. La declaración de asignación (If...Then...Else) anidada en el ciclo le dice al programa que asigne valores 1 y 4 a las celdas (1, 1), (4, 4) respectivamente

Cada vez que el programa completa el bucle, salta a la palabra clave For para comparar el valor de i con el valor de 5.

2. Bucles for múltiples

En circunstancias normales, solo usamos una declaración For. Si usa varias declaraciones For, entonces es el anidamiento o el uso múltiple de declaraciones For.

1. Una instrucción simple triple for es:

Sub test()
    Dim m
    Dim n
    Dim k
    m = 1
    n = 1
    k = 1
    For m = 1 To 6
        For n = 1 To 6
            For k = 1 To 6

            Next k
        Next n
    Next m
End Sub

A continuación, aprendamos cómo salir de un bucle en varios bucles y saltar a un bucle determinado: Para aprender cómo salir de un bucle determinado en varios bucles, podemos rastrear y generar el valor de una determinada variable, y luego podemos rastrear dónde está el loop ejecuta la posición y sale del loop.

2. Sal del tercer bucle.

Sub test()
    Dim m
    Dim n
    Dim k
    m = 1
    n = 1
    k = 1
    For m = 1 To 6 '第一个循环
        For n = 1 To 6 '第二个循环
            For k = 1 To 6 '第三个循环
                If (k = 3) Then
                    Exit For
                 End If
            Next k
        Next n
    Next m
    
    MsgBox ("现在的m值为:" & m & "  现在的n值为:" & n & "  现在的k值为:" & k)
End Sub

En este momento, m es 7, n es 7 y k es 3, lo que indica que el primer y el segundo ciclo se ejecutan completamente, mientras que el tercer ciclo solo se ejecuta hasta que k es igual a 3 cada vez, y luego sale del tercer ciclo. el tercer ciclo no se ejecuta completamente.

3. Sal del segundo bucle.

Sub test()
    Dim m
    Dim n
    Dim k
    m = 1
    n = 1
    k = 1
    For m = 1 To 6 '第一个循环
        For n = 1 To 6 '第二个循环
            If (n = 3) Then
                Exit For
                For k = 1 To 6 '第三个循环
                Next k
            End If
        Next n
    Next m
    
    MsgBox ("现在的m值为:" & m & "  现在的n值为:" & n & "  现在的k值为:" & k)
End Sub

En este momento, el valor de m es 7, el valor de n es 3 y el valor de k es 1. Durante este ciclo, el primer ciclo se ejecuta por completo y el segundo ciclo no se ejecuta hasta n = 3. Y el tercer ciclo nunca se ejecuta.

4. Sal del primer bucle

Sub test()
    Dim m
    Dim n
    Dim k
    m = 1
    n = 1
    k = 1
    For m = 1 To 6 '第一个循环
    If (m = 3) Then
        Exit For
        For n = 1 To 6 '第二个循环
            For k = 1 To 6 '第三个循环
            Next k
        Next n
        End If
    Next m
    
    MsgBox ("现在的m值为:" & m & "  现在的n值为:" & n & "  现在的k值为:" & k)
End Sub

En este momento, el valor de m es 3, el valor de n es 1 y el valor de k es 1. En este proceso de ciclo, el primer ciclo solo se ejecuta hasta m=3 y ya no se ejecuta, mientras que el segundo y tercer bucle, nunca se ha ejecutado.

En resumen, los ejemplos anteriores le muestran tres bucles for respectivamente, cómo salir de uno de los bucles, en este proceso, solo se puede realizar usando una instrucción Exit For simple, pero la dificultad radica en el hecho de que Exit For The La posición que se va a colocar debe usarse junto con la declaración if, para que sea efectiva; de lo contrario, generará confusión en el anidamiento de bucles.

Supongo que te gusta

Origin blog.csdn.net/xijinno1/article/details/130144041
Recomendado
Clasificación