top of page

El uso de macros permite ahorrar tiempo automatizando tareas que suelen ser repetitivas.  Por ejemplo si en un archivo de Excel se tienen 200 hojas y cada una contiene un formato o ficha llena de información y se requiere cambiar una celda especifica o el nombre de la ficha en todas las hojas se podría entrar a cada ficha, buscar la celda y cambiarla de forma manual ficha por ficha o escribir un código similar a este:

 

Dim index As Integer

index = 1

 

Do While index <= 200

   

    Range("A" + CStr(index)).Value = Worksheets(index).Name

    Worksheets(index).Name = Range("B" + CStr(index)).Value

    Worksheets(index).Range("C1").Value = Worksheets(index).Name

 

    index = index + 1

Loop

A pesar de lo corto del código, puede resultar algo intimidante si no se tienen nociones de programación, y gastar 1 hora de nuestro tiempo yendo hoja por hoja cambiando valores a mano puede parecer una opción no tan terrible, pero si al tiempo se le suma la probabilidad de cometer errores, en realidad la macro se debería contemplar como la única opción viable.

COMO EMPEZAR CON MACROS?

la forma mas sencilla para comenzar a usar macros en Excel pude ser usando la opción de grabar macros, esto nos permite grabar un procedimiento para después repetirlo cuantas veces necesitemos, sin necesidad de escribir código, de hecho grabar una macro puede ser muy útil aun conociendo el lenguaje de programación.

lo primero que debemos hacer es activar la pestaña o cinta de Desarrollador siguiendo estos pasos:

1. Haga clic en la pestaña Archivo

2. Haga clic en Opciones

3. Haga clic en Personalizar la cinta de opciones

4. En Personalizar la cinta de opciones  y Pestañas principales, active la casilla Desarrollador.

Esta de acá abajo es la pestaña de Desarrollador, al oprimir "Grabar macro" se comienza a grabar lo que se haga en Excel.

Se debe dar un nombre a la macro y si se quiere se puede elegir un método abreviado de ejecución de la macro con combinación de teclas.

 

 

 

 

 

 

 

 

 

 

En este momento se puede hacer en la celda o en varias lo que se necesitará hacer de forma repetitiva.  Cuando se finaliza se hace clic en Detener grabación.

Como ejemplo abajo mostramos el código de una macro grabada en donde en la celda activa se rellena de color amarillo, se coloca en negrilla el texto y se pone el tipo de letra en Arial.  La macro se puede ejecutar cuantas veces se necesite.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MACROS EN EXCEL CON ALGO DE PROGRAMACIÓN

Si requiero hacer cosas mas elaboradas es posible que sean necesario algo de programación para lo cual acá solo mostrare algo muy básico pero a su vez practico y útil.

COMO REFERENCIAR CELDAS Y HOJAS

'Hacer referencia a todas las hojas del libro activo

ActiveWorkbook.Sheets.Select

 

'Hacer referencia a la hoja2

Sheets("Hoja2").Select

 

'Hacer referencia a la hoja que se encuentra en la posición 2 sin importar el nombre

Sheets(2).Select

 

'Hacer referencia a la hoja de la pestaña anterior a la activa

ActiveSheet.Previous.Select

 

'Hacer referencia a la hoja de la pestaña posterior a la activa

ActiveSheet.Next.Select

 

 

'Selecciona la celda b8 de la hoja 1

Sheets("hoja1").Select

Range("C8").Select

 

'Hacer referencia de otra forma a la misma celda c8

Cells(8, 3).Select

 

'Selecciona todas las celdas de la hoja

Cells.Select

 

'Se puede seleccionar la celda c8 de la hoja activa mediante

ActiveSheet.Cells(8, 3).Select

 

'Selecciona el rango continuo c2 a d10

Range("C2:D10").Select

 

'Referencia de otra forma el rango c2:d10

Range(Cells(2, 3), Cells(10, 4)).Select

 

'Referenciar  de otra forma el rango c2:c10

Range("C2", "D10").Select

 

'Seleccionar toda la columna  A

Range("A:A").Select

 

'Seleccionar todas las columnas desde la columna A hasta la columna C

Range("A:C").Select

 

'Seleccionar toda la fila 4

Range("4:4").Select

 

'Seleccionar todas las filas desde la fila 1 hasta la fila 5

Range("1:5").Select

DECLARAR O NO DECLARAR VARIABLES?

 

Si no es obligatorio declarar variables, ¿por qué hacerlo?

 

En programación dice que las variables hay que declararlas, al igual que la ortodoxia en la creación de gráficos dice que es necesaria una leyenda para identificar las categorías representadas, al declarar las variables trabajamos de forma mas organizada.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CONTROLES DE FLUJO O ESTRUCTURAS DE CONTROL

 

En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.

 

Con las estructuras de control se puede:

 

De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-Then-Else)

De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias (Select-Case)

Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While)

Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)

Ejecutar un grupo de sentencias un número determinado de veces (For-Next)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ejemplo de macro para copiar una hoja "formulario" múltiples veces y llenar estos formularios a partir de una base de datos.

bottom of page