jueves, 27 de octubre de 2011

Estructuras de Bucle o Ciclo

Los bucles significan repeticiones de un bloque de sentencias. Algunos bucles se repiten un número concreto de veces, mientras que otros continúan en ejecución hasta que cumplen una condición determinada. El VBA ofrece tres tipos de estructura de bucle:

  • La sentencia Do … Loop.
  • La sentencia While …. Wend.
  • La sentencia For …. Next / For Each…. Next

Do … Loop y While …. Wend repiten las operaciones en función de una condición, mientras que For …. Next repite las operaciones una cantidad de veces por contador.

For Each…. Next permite recorrer los elementos de una coleccion.

El siguiente ejemplo repite la sentencia MsgBox y muestra el valor hasta que alcanza el valor 10.

Sub Do_pruebas()

Dim Valor As Integer

Valor = 1

Do Until Valor = 10

MsgBox Valor

Valor = Valor + 1

Loop

End Sub

Advertencia: Incremente el valor o reduzca siempre la variable dentro del bucle, si lo olvida, el bucle se ejecutara sin fin.

Este ejemplo establece 10 repeticiones, con incremento negativo de 2 en la hoja Excel activa.

Sub for_pruebas()

Dim X As Integer

For X = 10 To 1 Step -2

Cells(X,1) = X

Next X

End Sub

Por lo general la instrucción For Each.. Next suele utilizarse para evaluar rangos y u hojas, como se ve en el siguiente ejemplo:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim Hoja As Worksheet

For Each Hoja In ThisWorkbook.Sheets

Hoja.PageSetup.LeftFooter = "Jose Luis"

Next Hoja

End Sub

Con este ejemplo colocamos en el encabezado de cada hoja mi nombre.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.