Documente Academic
Documente Profesional
Documente Cultură
MACROS
Introducción Cuando trabajamos con un libro personalizado, es decir, que nos hemos definido con una
serie de características específicas como puedan ser el tipo de letra, el color de ciertas celdas, los
formatos de los cálculos y características similares, perdemos mucho tiempo en formatear todo el libro
si disponemos de muchas hojas.
Con las macros lo que se pretende es automatizar varias tareas y fusionarlas en una sola, añadiendo
por ejemplo un botón en nuestro libro que al pulsar sobre él realice todas esas tareas.
Antes de realizar una Macro es muy importante hablar sobre sus seguridades. Se puede grabar las
macros desde la Vista Programador, generalmente no está disponible, haga lo siguiente para mostrarla:
Luego en las opciones de Excel de clic en Personalizar cinta de opciones y luego Active con un visto la ficha
Desarrollador o Programador en la cinta de opciones, y luego clic en el botón Aceptar, observe:
CURSO DE MICROSOFT EXCEL
SEGURIDAD EN MACROS
Para establecer el nivel de seguridad de manera que estén habilitadas temporalmente todas las macros, haga lo
siguiente: En la pestaña Desarrollador o Programador, en el grupo Código, haga clic en Seguridad de macros.
Observe donde:
Dar clic en Configuración de macros, luego haga clic en Habilitar todas las macros (no recomendado; puede
ejecutarse código posiblemente peligroso) y dar clic en el botón Aceptar, observe como:
CURSO DE MICROSOFT EXCEL
COMO GUARDAR EL ARCHIVO DE EXCEL
Para trabajar con macros es necesario guardar el archivo en el que se puedan ejecutar para ello realice los
siguientes pasos:
Luego clic en Guardar como, luego en Examinar escoger en donde desean guardar el archivo
Dar clic en la flecha de la opción Tipo, luego en la opciones que aparecen dar clic en Libro de Excel habilitado
para macros, por último dar clic en el botón Guardar.
CURSO DE MICROSOFT EXCEL
Observe como se diferencia un archivo para Macros y un archivo normal de Excel. El icono y el Tipo es diferente.
Antes de grabar o escribir en código VBA una macro hay que tener en cuenta los siguientes puntos:
1. Planifique los pasos y los comandos que desea que ejecute la macro.
2. Si se comete algún error mientras se graba la macro, también se grabarán las correcciones que se realicen.
Es decir se graba cualquier paso que ejecuten.
3. Cada vez que se grabe una macro, ésta se almacenará en un nuevo módulo en Visual Basic adjunto a un
libro.
4. Habilite solo una vez el botón Usar referencias Relativas de la pestaña Desarrollador para que las macros
puedan ser usadas en cualquier celda y cualquier Hoja del Libro de Excel Abierto.
Ejemplo 1: Vamos a grabar una macro sencilla que cada vez que la activemos nos salga el texto MACROS EN
EXCEL, con negrita, con subrayado, tamaño 18, letra Algerian, color rojo y alineado al centro, veamos como:
Primero dar clic en el botón Usar referencias relativas, recuerden solo se activa una vez mientras se mantenga el
archivo de Excel habilitado para macros abierto. Luego ubicamos el cursor en la celda B2, observe:
Una vez ubicados en la celda B2 damos clic en el botón Grabar macro, tenga en cuenta los pasos que se deben
hacer, porque todo lo que se haga la macro lo graba:
CURSO DE MICROSOFT EXCEL
Aparece la ventana de configuración de la macro. Se debe asignar un Nombre de la macro para nuestro caso la
macro se llamará Ejemplo1.
En la opción Método Abreviado aparece que se activara con la combinación de teclas Control (CTRL) + la letra
que usted indique, Ejemplo digitamos la letra s
La macro se activara cuando esté lista con la combinación de teclas Control + s ó Ctrl + s
Guardar macro en, son los posibles lugares donde se puede alojar la macro que se está grabando, ya sea en
Este libro, en un Nuevo libro o en el Libro de macros personal. Para nuestro ejemplo dejamos Este libro. Observe
como debe de ir configurada la macro, por último dar clic en el botón Aceptar:
Damos clic en Aceptar para iniciar la grabación de la macro. En este momento, todas las acciones que realice se
estarán registrando por Excel, así que recomiendo no hacer pasos innecesarios:
Recuerden los pasos de grabación, negrita, subrayado, tamaño 18, letra Algerian, color rojo, alineado al centro,
ampliar tamaño de la columna para que se muestre todo el texto en la celda.
Una Vez se apliquen todos los pasos mencionados el texto queda de la siguiente manera:
Volvemos a la pestaña Desarrollador y damos clic en el botón Detener grabación para finalizar la macro.
CURSO DE MICROSOFT EXCEL
Para probar la macro ubiquémonos en la celda D5, y escribimos un nuevo texto, observe:
Para activar la macro sobre el nuevo texto pulsamos la combinación de teclas Ctrl + s, que fue la que se escogió
al grabar la macro, ahora observe que automáticamente la macro se ejecuta y realiza todos los pasos
anteriormente grabados al primer texto:
Teniendo ya la macro creada podemos asignarla a un botón, para ejecutarla cada vez que queramos, sin
necesidad de tener que recordar la combinación de teclas que se escogió, imagínense si hay muchas macros
creadas, como recordar cada combinación, por tanto en la pestaña Desarrollador o Programador, damos clic en la
flechita de la opción Insertar y en Controles de formulario damos clic en el botón de comando, observe:
Con clic sostenido dibujamos el botón de comando en cualquier parte de la Hoja, observe donde:
CURSO DE MICROSOFT EXCEL
Soltar el botón del mouse y observe que aparece la siguiente ventana, en la lista de macros que aparece escoger
la que queremos ejecutar con el botón de comando, para nuestro caso es Ejemplo1, en la opción Macros en,
escoger Este Libro, luego damos clic en el botón Aceptar, observe:
Cambiamos en nombre al botón como queremos que aparezca o para recordar que macro ejecutar, para nuestro
caso es Ejemplo 1, observe:
Para probar el botón de comando escribimos un nuevo texto en la celda C4, damos clic en el botón Ejemplo 1.
Observe que se ejecutan nuevamente todos los pasos grabados en la macro, solo que NO tuvimos que ejecutar la
combinación de teclas Ctrl + s.
CURSO DE MICROSOFT EXCEL
Ejemplo 2: También podemos grabar macros que realicen cálculos matemáticos de forma automática, vamos a
grabar una macro que permita hallar el área de un triángulo, recordemos que el área se halla de la siguiente
manera:
La Macro debe Llamar AreaTriangulo y debe ejecutarse con la combinación de teclas Ctrl + t.
Recordar que primero debemos saber y aprender cuales son los pasos de ejecución de la macro, los cuales son:
Luego sobre esa selección de celdas dar un clic con el botón derecho del Mouse y nos muestra el siguiente Menú
de opciones del que daremos clic en la opción Insertar, observe:
CURSO DE MICROSOFT EXCEL
Nos aparece otra ventana dejamos seleccionada la opción Desplazar las celdas hacia abajo y damos clic en el
botón Aceptar. Observe:
Observe que las celdas se desplazaron una fila hacia abajo, para dar cabida a otros nuevos datos.
Volvemos a la pestaña Desarrollador y damos clic en el botón Detener grabación para finalizar la macro.
Creamos un Botón de comando y le asignamos la macro ÁreaTriangulo, escogemos en Este Libro y damos clic
en el botón Aceptar, observe:
CURSO DE MICROSOFT EXCEL
Ejecutamos la macro dando clic en el botón Área Triangulo, observe que nos muestra un nuevo cálculo en una
nueva fila desplazada hacia abajo dejando espacio para escribir datos nuevos, observe:
MACROFUNCIONES
Una macrofunción es una función definida por el usuario. En Microsoft Excel al igual que los macrocomandos, se
guardan en módulos (recuerda: un tipo especial de hojas) y han de estar escritas en Visual Basic. A diferencia de
los macrocomandos, crear una macrofunción supone que el usuario ha de teclear su definición en un módulo.
¿Por qué el usuario va a querer crear una macrofunción? Por varias razones: porque usa muchas veces una
fórmula que no viene predefinida en Excel; porque es más rápido crear una función y “llamarla” posteriormente que
introducir las mismas operaciones cada vez que haga falta; porque la hoja de cálculo puede resultar más legible: si
tenemos una macrofunción cuyo nombre es AreaEsfera, no hacen falta más explicaciones sobre cuál es su
cometido.
Function es la palabra que indica en Visual Basic que lo que sigue es una macrofunción.
Estas palabras han de escribirse literalmente, no pueden ser utilizadas por el usuario en el cuerpo de la
macrofunción y se denominan palabras reservadas (al escribirlas en el módulo, aparecerán de color azul).
NombreFunción es el nombre que le asignamos a la macrofunción y que servirá posteriormente para “llamarla”
desde la hoja de Excel.
Argumentos son los parámetros que va a pedir la función cuando la llamemos o utilicemos en la hoja de Excel.
Cuerpo de la función Es donde se escribe la fórmula que va a realizar el cálculo en cualquier celda asignada de
Excel.
Como ya dijimos, crear una macrofunción supone que el usuario ha de teclear su definición en un módulo. Para
ello, ejecutar el Editor de Visual Basic desde la pestaña Desarrollador o Programador y luego dar clic en la
opción Visual Basic, observe como:
Esta es la ventana del editor de Visual Basic, como pueden darse cuenta el editor es una ventana diferente a la
hoja de Excel, observe:
Recuerde que para crear o programar las macrofunciones necesitamos crear un módulo que es una hoja que nos
permite escribir el código de programación de la macrofunciones.
Los Módulos irán siempre asociados a un libro de trabajo. En un módulo se pueden definir tantas macrofunciones
como se desee.
CURSO DE MICROSOFT EXCEL
Para crear un módulo nuevo se debe seleccionar el menú Insertar y luego dar clic en la opción Módulo, observe:
Observe que en el explorador ya nos aparece una nueva carpeta y el Modulo que acabamos de crear que es
Modulo 1 y al lado derecho nos aparece la hoja para poder programar las macrofunciones, observe:
Ejemplo 1: Vamos a crear una macrofunción que nos calcule el área de un cuadrado, que es igual a la Base por la
Altura. Es decir:
Primero debemos escribir la palabra reservada Function que le indica a Visual Basic que se va a escribir una
función, luego escribimos el nombre de la función en este caso es AreaCuadrado, luego abrimos paréntesis para
escribir los argumentos o parámetros que se ingresan o los que están escritos en las celdas, cada argumento que
usemos debemos separarlo de una coma, en nuestro caso vamos a usar dos argumentos que son Base y Altura,
al final cerramos el paréntesis, observe:
En medio ya podemos escribir la formula o las operaciones que va a calcular la función, para hallar el área de un
cuadrado primero llamamos la función que en este caso es AreaCuadrado = Base * Altura, la escribimos tal cual,
observe:
Nos muestra el cálculo del Área del Cuadrado, copiamos la función a las demás celdas, observe:
Ejemplo 2: Calculemos el Área de un Trapecio la cual es Base Mayor + base menor * altura sobre 2, es decir:
Construimos la función:
Function AreaTrapecio (BaseMayor, BaseMenor, Altura), observe que la nueva macrofunción queda debajo de
la anterior, veamos:
Guardamos los cambios y volvemos a Excel y creamos la siguiente planilla en la misma hoja de la anterior
Macrofunción, observe:
Seleccionamos los parámetros que vamos a enviarle a la función que son Base Mayor, Base Menor y Altura en
nuestro caso son las celdas F2, G2 y H2 separados por punto y coma, cerramos paréntesis, observe:
Damos Enter, copiamos la función a las demás celdas y observe que ya aparece calculada el Área del Trapecio: