Estructuras de Bucle
Cuando necesitamos que un proceso (instrucciones VBA) se repita un numero determinado de veces aparece la necesidad de crear bucles y para ello el VBA nos suministra varios tipos de estructuras.Disponemos de las siguientes:
- For..Next
- While...Wend
- Do While
- Do Loop
- For Each ...Next
For...Next
En general, la estructura For... Next se usa en aquellas situaciones en las cuales sabemos la cantidad de veces que queremos que se ejecute el bloque de instrucciones. En algunas ocasiones como máximo aunque también podemos salir antes si establecemos una condición de salida ... En su forma más típica y básica, esta estructura requiere una variable que cumple la función de un contador de ciclos. Normalmente usamos solo una letra según las convenciones mas habituales.
Ejemplo:
For i=1 to 10
instrucciones
Next i
El ejemplo anterior repetiría las instrucciones 10 veces ya que la variable i empieza por 1 y cuando llega a la orden Next i se incrementa en una unidad.
También podemos hacer si nos interesa bucles inversos o que se incrementen en mas de una unidad y para ello usaremos el argumento step.
Ejemplo:
For i= 1 To 10 Step 2
miFila = i
Cells(miFila, 2) = i
Next i
al ejecutarlo obtendremos lo siguiente:
Ejercicio:
Necesitamos crear una macro que cuente de 7 en 7 y vaya escribiendo en celdas el valor de dicho contador. El contador deberá empezar en -3 y terminar en 130. Deberá escribirse en la columna D desde la fila 1.
El resultado puede ser este:
Option Explicit
Dim i As Integer
Dim miFila As Integer
__________________________________________
Sub Ejercicio()
miFila = 0
For i = -3 To 130 Step 7
Cells(1, "d").Offset(miFila, 0) = i
miFila = miFila + 1
Next
End Sub
Observamos el resultado:
Ejercicio Planteado:
Genere 100 celdas en la columna A con valores aleatorios entre 1 y 100 desde A1 y construya una macro que recorra esas 100 celdas y escriba a la derecha del primer valor 89 la palabra Localizado y finalice el recorrido.
Nota: Puede ocurrir que si no tiene ningún 89 no ponga nada
Para ver la solución puede pinchar en el siguiente enlace Ejercicio Planteado el cual se abrirá en nueva ventana y deberá descargarlo a su equipo como copia ya que las macros no funcionan en entorno Web.
En la próxima entrega explicamos la estructura While...Wend
Comentarios
Publicar un comentario