Cómo usar la intrucción Bucle While en VBA Excel Macro - Simples pasos

icono de excel en caricaturas

A medida que vas aprendiendo sobre las distintas funciones posibles a través de las macro que están disponibles dentro de Excel podrás ser capaz de crear procedimientos a través de la instrucción bucle While en VBA. VBA es un programa que te permite crear macros en Excel.

Creando macros con VBA podrás hacer las tareas de Excel con más rapidez y facilidad. Ejemplo copiar y pegar celdas en Excel, crear gráficos o contar datos de celdas.

Estas son condiciones útiles para tablas que requieran establecer una serie de parámetros que determinarán un resultado específico.

Cómo Usar la Instrucción Bucle While en VBA Excel Macro - Simples Pasos

Los módulos que son creados en la sección de macros permiten que el usuario desarrollador pueda cumplir con procedimientos considerados imposibles.

De esta manera, si utilizando los accesos de la barra de herramientas no te permiten realizar una función, la codificación plasmada en el Editor de Visual Basic logrará crear dentro de Excel los parámetros para que obtengas el resultado deseado.

¿De qué trata la instrucción bucle While en VBA y cómo funciona?

La creación  de codificaciones que contienen la instrucción del término inglés de While o Wend son plasmados para lograr repetir un tipo de procedimiento específico.

El código macro está constituido por complementos que permitirán formar dichos parámetros de los que se ha hablado anteriormente, entre los cuales se establecen los siguientes:

  • Principalmente, la condición es un dato obligatorio determinado a través de una cadena o número cuyo valor determina si el contenido es cierto o falso.
  • Dado el caso de que la información ingresada y solicitada por la persona cumpla con las condiciones establecidas en el código, esta se cumple y se realiza el bucle.
  • Por otro lado, la instrucción es un parámetro considerado opcional, pero realmente es quien asigna sentido a la probabilidad de resultado.

icono de excel verde

Se basa en la serie de distintos procedimientos que deben realizarse una y otra vez hasta que el usuario establezca una condición falsa.

Método de funcionamiento

Sea cual sea la estructura establecida en el código, el bucle tiene la capacidad de repetirse mientras la condición esté siendo cumplida.

Cuando se comienza a ejecutar la función o procedimiento, este comienza a ser analizado de arriba hacia abajo.

De esta forma, el bucle estudia la condición que se ha colocado en la línea superior y si el resto de la información está dentro de los parámetros, se toma como verdadera y se ejecutan las líneas inferiores a “While”.

Una vez que se llega al término “Loop”, el programa regresa al inicio y vuelve a analizar la condición que se ha ingresado de forma repetitiva.

Cuando se produce un cambio en la información de la tabla que logre que la condición se transforme en falsa para detener la repetición del bucle indefinidamente.

Así es como While deja de ejecutarse y el flujo del programa establecido por el código pasa a realizar las sentencias que se encuentran debajo de “Loop”.

Código de ejemplo utilizando el bucle While

La instrucción del bucle While en VBA se establece de la siguiente manera en el ejemplo de un listado de habitaciones de un hospital para determinar si está disponible para asignársela a un paciente que la necesite.

varios iconos de Excel verdes

Sub habestatus ()

Fila = 2

Do While Cells(fila, 1) <> “”

If (Cells(fila, 2) < 500 And Cells(fila, 3) = “Sucia”) Then

Cells(fila, 4) = “No disponible en 4to piso”

End If

If (Cells(fila, 2) < 500 And Cells(fila, 3) = “Limpia”) Then

Cells(fila, 4) = “´Disponible en 4to piso”

End If

If (Cells(fila, 2) < 400 And Cells(fila, 3) = “Sucia”) Then

Cells(fila, 4) = “No disponible en 3er piso”

End If

If (Cells(fila, 2) < 400 And Cells(fila, 3) = “Limpia”) Then

Cells(fila, 4) = “Disponible en 3er piso”

End If

If (Cells(fila, 2) < 300 And Cells(fila, 3) = “Sucia”) Then

Cells(fila, 4) = “No disponible en 2do piso”

End If

If (Cells(fila, 2) < 300 And Cells(fila, 3) = “Limpia”) Then

Cells(fila, 4) = “Disponible en 2do piso”

End If

If (Cells(fila, 2) < 200 And Cells(fila, 3) = “Sucia”) Then

Cells(fila, 4) = “No disponible en 1er piso”

End If

If (Cells(fila, 2) < 200 And Cells(fila, 3) = “Limpia”) Then

Cells(fila, 4) = “Disponible en 1er piso”

End If

Fila = fila + 1

Loop

End Sub

Subir