Ir al contenido principal

Seminario Macros Excel Gratuito 15 Entrega (Estructuras de programación o control 3ª parte)

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

Entradas populares de este blog

Chrome: desactivar la opción “Abrir siempre archivos de este tipo”

En Chrome, al descargar un archivo aparecen tres opciones en el desplegable de la barra de descargas:

Combinar Correspondencia con varias cuentas en Outlook

A veces necesitamos realizar un mailing (Combinar correspondencia) y disponemos de varias cuentas de correo en nuestro Outlook. Comprobamos que no funciona el elegir una de ellas como predeterminada ya que para el envío por correspondencia usa un servicio llamado MAPI que no usa la cuenta predeterminada.  Antiguamente en versiones como la 2010 de office simplemente con cambiar el fichero de datos predeterminado de la cuenta bastaba para ello. Actualmente (nosotros usamos 365, equivalente a la 2016) la solución pasa por crear un perfil de correo en el que configuremos la cuenta que usaremos para combinar correspondencia. Adjuntamos un video en el que se explica en Windows 10 como crear un perfil de correo de una cuenta. Una vez creado ese perfil de Correo pasaríamos a realizar la combinación de Correspondencia y en el último paso cuando  realizamos la combinación de correspondencia nos solicitará el perfil a usar para poder enviar los correos y en ese caso elegiríamos el perfil...

Uso del Dolar ($) en Excel

Es uno de los grandes desconocidos de los usuarios de Excel incluso algunos que llevan usando esta herramienta durante un largo periodo de Tiempo. La idea de su uso es evitar que al copiar un fórmula la referencia a una determinad celda cambie. Veamos un ejemplo: Tenemos 6 columnas y en la D una fórmula que multiplica el precio por la cantidad de un producto, si copiamos dicha fórmula se va adaptando a los diferentes productos y hasta aquí todo ok. Pero que pasa si queremos hacer la fórmula del IVA, es decir el 21% del importe bruto. Lo que suele hacer la mayoría de los usuarios que no conocen el uso del $ es hacer la siguiente fórmula en E2: =D2*21% Esto incumple la primera norma de creación de fórmulas que dice: En una fórmula nunca se deben incluir valores constantes salvo que se sepa que nunca van a poder cambiar y el iva es algo que puede y de echo ha variado a lo largo del tiempo. Por lo tanto si queremos hacer una hoja más versátil deberemos colocar el porcentaje de iva en una c...