Saltar en bucle For (Continue)

En VBA, es común usar bucles For para realizar operaciones repetitivas, pero a veces es necesario saltar el resto del bucle y pasar a la siguiente iteración bajo ciertas condiciones.

En este artículo, presentamos cómo usar el comando GoTo para saltar al siguiente bucle en tales casos.

Cómo saltar al siguiente bucle en un bucle For

En resumen, para saltar al siguiente bucle en un bucle For, se usa el comando GoTo.

El comando GoTo es un comando que salta a una etiqueta especificada. Dado que VBA no tiene un comando Continue, se puede usar el comando GoTo para establecer una etiqueta justo antes del final del bucle For y saltar a esa etiqueta con el comando GoTo para pasar al siguiente bucle.

El siguiente ejemplo de código VBA recorre los números del 1 al 10, imprime los números impares en el registro y salta al siguiente bucle si el número es par.

Public Sub ForLoopWithGoTo()
    Dim i As Integer
    For i = 1 To 10
        If i Mod 2 = 0 Then _ ' Si el número es par
            GoTo NextIteration _ ' Saltar al siguiente bucle
        End If
        Debug.Print i _ ' Si es impar, imprimir el número en el registro
NextIteration:
    Next i
End Sub

En este código, si se cumple la condición If i Mod 2 = 0 Then (es decir, si i es par), el comando GoTo NextIteration salta a la etiqueta NextIteration: y pasa a la siguiente iteración del bucle For.

Puede establecer cualquier condición en la sentencia IF del código de ejemplo para saltar al siguiente bucle bajo cualquier condición.

Sobre el comando GoTo

El comando GoTo se usa para saltar el flujo del programa a la posición de una etiqueta especificada.

Una etiqueta es un nombre arbitrario seguido de dos puntos (:) que indica una posición específica en el código.

Puede encontrar más detalles sobre el comando GoTo en la siguiente página.

Comando GoTo
Explicación sobre cómo usar el comando GoTo en VBA.

Precauciones al usar el comando GoTo

El comando GoTo está obsoleto o no se implementa en muchos lenguajes de programación actuales.

Esto se debe a que el comando GoTo puede hacer que el flujo del programa sea opaco y el código difícil de leer.

Además, las etiquetas solo son válidas dentro del mismo procedimiento y no pueden saltar a otro procedimiento o módulo.

El uso excesivo del comando GoTo puede reducir la mantenibilidad del programa, por lo que se recomienda escribir el código utilizando estructuras de control (If-Then-Else, Select Case, etc.) siempre que sea posible.

Entienda que el uso del comando GoTo en el bucle For en este caso es una forma excepcional de saltar el bucle bajo ciertas condiciones.

Resumen

En VBA, puede usar el comando GoTo para saltar a la siguiente iteración en un bucle For.

Sin embargo, considere la legibilidad y mantenibilidad del programa y use el comando GoTo solo cuando sea necesario.

Es importante hacer que la lógica del programa sea clara y apuntar a un mejor código.

#VBA