Está en la página 1de 17

¿Qué es una macro de Excel?

Si utilizas Excel frecuentemente es posible que en alguna ocasión te hayas encontrado ejecutando una
misma serie de acciones una y otra vez. Esas acciones que haces repetidas veces se podrían
automatizar con una macro.
Una macro es un conjunto de comandos que se almacena en un lugar especial de Excel de manera que
están siempre disponibles cuando los necesites ejecutar.
Por ejemplo, si todas las mañanas creas un reporte de ventas y en ese reporte siempre das el mismo
formato a los textos, se podría crear una macro para que lo haga automáticamente por ti. Las macros
se utilizan principalmente para eliminar la necesidad de repetir los pasos de aquellas tareas que
realizas una y otra vez.

Lenguaje de Programación
Las macros se escriben en un lenguaje de computadora especial que es conocido como Visual Basic for
Applications (VBA). Este lenguaje permite acceder a prácticamente todas las funcionalidades de Excel
y con ello también ampliar la funcionalidad del programa.

Si no eres un programador de computadoras, Excel provee de una herramienta especial que permite
crear una macro sin necesidad de conocer los detalles del lenguaje de programación.

Crear Macros Automáticas


Las macros se crean con la Grabadora de macros la cual irá grabando todas las acciones que realicemos
en Excel hasta que detengamos la grabación. Una vez grabada la macro podremos “reproducir” de
nuevo las acciones con tan solo un clic.
Existe otro método que es utilizar el Editor de Visual Basic el cual nos permitirá introducir el código con
las instrucciones que serán ejecutadas por la macro. Caso práctico 01
Por ejemplo, si frecuentemente aplicamos los mismos formatos personalizados a una tabla, podemos
crear una macro que lo haga automáticamente.
La macro tendría que contener los siguientes procesos, toda macro debe ser previamente planificada:

1
1. Seleccionar un rango de celdas
2. Aplicar los formatos de bordes
3. Aplicar los formatos de relleno

Todos estos pasos se guardan con un nombre de macro, los cuales se podrá ejecutar más adelante con
un solo clic.

Ficha Programador / DESARROLLADOR


Para trabajar con las herramientas de macros en Microsoft Excel 2013 debemos de activar en primer
lugar la Ficha Programador. Para activarla realice los siguientes pasos:
1. Seleccione el menú Archivo
2. Haga clic en Opciones
3. Haga clic en Personalizar la cinta de opciones
4. Active la casilla correspondiente a la ficha Programador
5. Haga clic en Aceptar

6. Luego podremos elegir la ficha Programador, tal como se muestra en la siguiente figura

2
Seguridad de macros
Microsoft Excel 2013 está configurado por defecto el bloqueo de las macros como medida de
precaución de la presencia de alguna macrovirus en el sistema, esta configuración se puede cambiar
para especificar las macros que se ejecutarán.
Para modificar la seguridad de macros, realice los siguientes pasos:
1. Seleccione la ficha Programador / DESARROLLADOR

2. Haga clic en el botón Seguridad de Macros que se encuentra en el grupo Código

3. En el panel derecho de la siguiente ventana de diálogo, seleccione Habilitar todas las macros y active la
casilla Confiar en el acceso al modelo de objetos de proyectos de VBA

Grabar una macro


Para grabar una macro, realice los siguientes pasos:
1. Seleccione la ficha Programador / DESARROLLADOR
2. Seleccione el botón Grabar macro

3. En la siguiente ventana de diálogo, asignar un nombre a la macro, por ejemplo Formatos, una letra para el
atajo por ejemplo la letra f (minúscula) y una descripción de la macro (opcional).

3
4. Realice cuidadosamente todas las operaciones que desee grabar, por ejemplo: Seleccione una celda en la
hoja Prueba

• Seleccionar la ficha Inicio, luego active la caja: Formato de celdas y seleccione la ficha Fuente

• En la siguiente ventana de diálogo aplique formato de bordes y relleno, según las indicaciones del
profesor.

Nota: Cuando la macro se está ejecutando, guarda todas las acciones que realicemos.
5. Por último para detener la grabación seleccione la ficha Programador, haga clic en el botón Detener
grabación.

4
Ejecutar una macro
Para ejecutar una macro, se puede realizar de varias formas:

A través del comando


1. Seleccione la ficha Programador / DESARROLLADOR
2. Seleccione el botón Ver macros

3. En la siguiente ventana de diálogo, elija la macro que desee ejecutar 4. Haga clic en Ejecutar

5. Ver el resultado de la ejecución de la macro A


través de un atajo

• Presione simultáneamente las teclas Ctrl + f


• Ver el resultado de la ejecución de la macro

Guardar un libro con macros en Excel

Para guardar un libro que contenga macros, realice los siguientes pasos:
1. Seleccione el menú Archivo
2. Seleccione la opción Guardar

3. Como es la primera vez que se guarda el libro con macro, aparecerá la siguiente ventana de diálogo,
elija el botón No para guardar el libro habilitado para macros

5
4. En la siguiente ventana de diálogo, el nombre del libro será Demo_macros y elija como tipo de
archivo Libro de Excel habilitado para macros

Asignar una macro a un botón a la barra de herramientas


Una manera adecuada de ejecutar una macro es a través de botones de comando

Personalizar la Barra de herramientas de acceso rápido:

Realice los siguientes pasos:


1. Haba clic en el Botón
2. Seleccione Mas comandos…

6
Agregar un botón a la barra de herramientas de acceso rápido
Realice los siguientes pasos:
1. Seleccione el archivo para personalizarlo
2. En comandos disponibles: seleccione Macros
3. Seleccione la macro creada (en este caso: Formato)
4. Luego seleccione: Agregar
5. Seleccione el botón
6. Elija el botón: Modificar…
a) Elija un icono (se recomienda uno que este asociado con la macro)
b) Cambie el nombre para mostrar y Aceptar.

7. Finalmente Aceptar

7
8. El resultado final será

9. Finalmente pruebe que el botón funcione, seleccione el rango de celdas de la hoja Tabla1 y haga
clic en el botón Bordes personales, en forma similar con los rangos de las listas de las hojas Tabla2
y Tabla3

Referencia de celdas
Referencias relativas y absolutas

Referencias absolutas
Ocurre cuando al ejecutar una macro que guarda el desplazamiento de celdas lo hace tomando como
referencia la posición de la celda donde se empezó la grabación. Veamos el siguiente ejemplo del
tratamiento del movimiento del puntero de celdas al ejecutar una macro, por ejemplo deseamos
desplazar el puntero de celda al final de la siguiente fila y desplazarnos una fila hacia abajo.

1. Ubique el puntero de celda en B3.

8
2. Seleccione la ficha Programador.
3. Haga clic en Grabar macro.

4. Asigne como nombre de la macro Movimiento y la letra de método abreviado será la letra m.

5. Desplace el puntero de celda a la última columna y descienda una fila, realice el movimiento
utilizando las teclas direccionales del teclado.

6. Detener la macro.

7. Ahora ejecutaremos la macro estando el puntero en la celda H3.

8. El resultado que esperamos encontrar es que el puntero de celda se desplace cuatro columnas a
la derecha y una fila hacia abajo, pero sin embargo se mueve a la celda F4, tal como se hizo cuando
se grabó la macro. Esto es debido a que Microsoft Excel por defecto tiene predeterminado un
direccionamiento absoluto cuando se graba el movimiento del puntero de celda. Desplace el
puntero de celda a la última columna y descienda una fila, realice el movimiento utilizando las
teclas direccionales del teclado.

9
Referencias relativas
Para ver el direccionamiento relativo trabajaremos con los mismos datos del ejemplo anterior, pero
esta vez antes de iniciar la grabación de la macro en el paso 3, seleccione primero el botón de usar
referencias relativas.

Luego continúe a partir del paso (3).


La nueva macro se llamará Relativo y su tecla de método abreviado la letra r.

Si ahora probamos la ejecución de la macro Relativo estando en la celda H3, veamos lo que ocurre.
Guarde los cambios y cierre el libro
Caso práctico 02
Active el libro: 03_Macros02, para crear macros automáticas de filtros avanzados y registro de datos
REALIZAR 01:
En la hoja: Trabajadores, se tiene la lista de una planilla de remuneraciones y se necesitan realizar
diferentes filtros avanzados en la siguiente hoja: Filtros - Se ha nombrado los siguientes rangos:
En la hoja Trabajadores:
PERSONAL ← [A3:K63]

10
En la hoja Filtros:
CONDICION ← [C2:K3]
SALIDA ← [A3:K6]

Solución:
1. Ubicado en la hoja: Filtros
2. Seleccione la ficha: DESARROLLADOR, luego seleccione el botón: Grabar macro
3. En la caja de dialogo: Grabar macro, completar los controles: y Aceptar

4. Luego seleccione la ficha: DATOS y luego seleccione el botón: Avanzadas


5. En la caja de dialogo: Filtro avanzado, configurar los controles: y Aceptar

6. Regrese a la ficha: PROGRAMADOR y seleccione el botón: Detener grabación Realizar 02:


1. Como se puede notar se han filtrado todos los registros del rango: PERSONAL

11
2. Coloque algún criterio: por ejemplo en la celda F3, digite el dato C
3. Ejecutar la macro con la combinación: Ctrl + h
4. El resultado solo deberá mostrar a los trabajadores que son Casados

5. Cambie los criterios según sea necesario y vuelva a ejecutar la macro


Nota: puede insertar un control tipo: botón de comando y asociarlo con la macro: Filtros Personales

12
Guarde el libro como: Libro activado para macros
Caso práctico 03
Utilizando el mismo libro: 03_Macros02, crearemos la macro automática para registro de datos
REALIZAR 02:
En la hoja: Registro, se tiene la lista de una tabla de productos y un área de Movimientos, se necesita realizar el
registro de los movimientos de los productos en la siguiente hoja: Control En la hoja Registro:
- Se ha nombrado el rango:
ITEM ← [A3:A14]
- Luego se ha credo la tabla: ARTEFACTOS, con la lista principal
- También se ha validado la celda: H2, para que solo acepte datos del rango: ITEM
- Finalmente se han colocado fórmulas de: SI.ERROR con BUSCARV en las celdas H4,H5 y H6 para encontrar las
características del código elegido. En el total una formula simple de multiplicación complementada con la
función: SI.ERROR
- Los datos para: Fecha y Cantidad, se deben digitar libremente

En la hoja Control:

13
- Se han insertado los campos que se requiere registrar (con una copia y pegado especial de valores, con la
opción Transponer)
- Como artificio se ha colocado un cero como primer código y una fecha cualquiera

Solución:
1. En la hoja: Registro, celda H2, elija un código (por ejemplo: PR-004), aparecerán los resultados de las
búsquedas correspondientes a: Descripción, Marca y Precio. Los datos de fecha (por ejemplo: 05/06/2015)
y cantidad (por ejemplo: 3) los ingresa de manera libre.

2. Ubicado en la celda H8, Seleccione la ficha: DESARROLLADOR y active el botón: Usar referencias relativas.
3. Luego seleccione el botón: Grabar macro y configure los controles: y Aceptar

14
4. Seleccione el rango: [H2:H8] e indique la orden Copiar: Ctrl + C

5. Luego seleccione la hoja: CONTROL y ubíquese en la celda A1


6. Realiza la combinación: (de teclas) Ctrl + Flecha abajo
7. Ahora solo pulse la: Flecha abajo

8. Abra el botón: Pegar y seleccione: Pegado especial...

15
9. Configure la caja de dialogo: (seleccione: Valores y active: Transponer) y Aceptar

10. Pulse nuevamente la: Flecha abajo

11. Seleccione la hoja: Registro, pulse la tecla: Esc, luego seleccione la celdas: H2:H3 y H7 y pulse la tecla: Supr

12. Seleccione la celda H2


13. Regrese a la ficha: PROGRAMADOR y seleccione el botón: Detener grabación
Realizar 02:
1. Como se puede notar se ha registrado la información en la hoja: Control
2. En la hoja: Registro, elija otro código en la celda H2 y coloque otra fecha y una cantidad a su criterio.
3. Ejecutar la macro con la combinación: Ctrl + r
4. El resultado deberá registrar en la hoja Control el nuevo item

5. Puede volver a ingresar un nuevo código con una fecha y cantidad correspondiente, y vuelva a ejecutar la
macro
Nota: puede insertar un control tipo: botón de comando y asociarlo con la macro: Registro

16
Guarde los cambios y cierre el libro

17

También podría gustarte