Sie sind auf Seite 1von 19

CURSO DE MICROSOFT EXCEL

MATERIAL DICIEMBRE 7

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.

GRABAR UNA MACRO

La forma más fácil e intuitiva de crear macros es crearlas mediante el grabador de macros del que dispone Excel.

Este grabador de macros te permite grabar las acciones deseadas que posteriormente las traduce a instrucciones
en VBA, las cuales podemos modificar posteriormente si tenemos conocimientos de programación.

Cuando grabe una macro, la grabadora de macros graba todos los pasos necesarios para completar las acciones
que desea grabar.

Para grabar una macro debemos acceder a la pestaña Vista y despliega el submenú Macros y dentro de este
submenú seleccionar la opción Grabar macro... Además de esta opción en el menú podemos encontrar las
siguientes opciones:

Ver Macros... Donde accedemos a un listado de las macros creadas en ese libro. Usar referencias relativas - Con
esta opción utilizaremos referencias relativas para que las macros se graben con acciones relativas a la celda
inicial seleccionada.

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:

Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Opciones de Excel

Luego en la opción Más frecuentes Active con un visto la opción Mostrar ficha Programador en la cinta de
opciones, observe:

Damos clic en Aceptar y observe como aparece la vista programador en Excel:


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 ficha Programador, en el grupo Código, haga clic en Seguridad de macros. Se visualiza:

En Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse
código posiblemente peligroso).

Y, a continuación, haga clic en Aceptar. Nota Para ayudar a evitar que se ejecute código potencialmente peligroso,
recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine
de trabajar con las macros.

Grabar Macro

Antes de grabar o escribir 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.
3. Cada vez que se grabe una macro, ésta se almacenará en un nuevo módulo adjunto a un libro.

4. Habilite siempre dando clic en la opción Usar referencias Relativas para que las
macros puedan ser usadas en cualquier celda.

Al grabar una macro, Excel almacena información sobre cada paso dado cuando se ejecuta una serie de
comandos. A continuación, se ejecuta la macro para que repita los comandos. Si se comete algún error mientras
se graba la macro, también se graban las correcciones que se realicen.

Ejemplo 1: Vamos a grabar una macro sencilla que cada vez que la activemos nos salga el texto CURSO DE
EXCEL 2007, con negrita, con subrayado, tamaño 18, letra Algerian, color rojo y alineado al centro, veamos:

Primero dar clic en el botón Usar referencias relativas, luego ubicamos el curso en la celda B2, observe:
CURSO DE MICROSOFT EXCEL

Una vez ubicados en la celda damos clic en el botón Grabar macro, tenga en cuenta los pasos que se deben
hacer, por que todo lo que se haga la macro lo graba:

Se debe asignar un Nombre de la macro para nuestro caso la macro se llamará Curso.

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 s

La macro se activara cuando este lista con la tecla Control + 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:

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:

En la celda escribimos:

Luego vamos a la vista Inicio y le aplicamos Negrita:


CURSO DE MICROSOFT EXCEL

Aplicamos tamaño 18 y ampliamos la celda:

Aplicamos fuente o letra Algerian y ampliamos nuevamente la celda:

Aplicamos subrayado:

Aplicamos color rojo:

Por último aplicamos alinear al centro:

Volvemos a la vista Programador y damos clic en el botón detener grabación para finalizar la
macro.

Ahora para probar la macro ubiquémonos en la celda B12, observe:


CURSO DE MICROSOFT EXCEL

Pulsamos la combinación de teclas Ctrl + s, observe que automáticamente la macro se ejecuta y realiza todo el
proceso anteriormente grabado:

Como Asignar una Macro a un Botón

Teniendo ya la macro creada podemos asignarle un botón. Para ello en la vista Programador, damos clic en la
opción Insertar y en Controles de formulario damos clic en el botón de comando, observe:
CURSO DE MICROSOFT EXCEL

Damos clic en cualquier parte de la hoja para ubicar el botón de Comando y observe la ventana que aparece,
seleccione la macro que se desea asignar al botón en este caso Curso:
CURSO DE MICROSOFT EXCEL

Damos clic en Aceptar, seleccionamos borramos y cambiamos el nombre al botón, observe:

Digitarle el nombre al botón en este caso pongámosle Macro Curso y ampliamos el tamaño al botón, observe:

Damos clic en una de las celdas de la hoja para activar el botón, observe que al acercar el cursor este toma forma
de mano lo que indica que el botón esta activo:

Para probarlo ubique el cursor en la celda B6 y luego de clic en el botón Macro Curso, observe, que
automáticamente se activa la macro y aplica el formato a la celda seleccionada:

Listo terminamos nuestro primer ejemplo de macros usando el grabador, si se dieron cuenta no tuvimos que
realizar ni crear ninguna línea de código.

Aunque este tipo de macros solo nos sirven cuando debemos aplicar muchos formatos, abrir archivos, guardar,
ubicarse en una posición especifica de Excel, etc.
CURSO DE MICROSOFT EXCEL
Programar en el Editor de Visual Basic de Excel

Macrofunciones

Una macrofunción es una función definida por el usuario. En Microsoft Excel 2007 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.

Estructura de una macrofunción

La estructura de una macrofunción es la siguiente:

Function es la palabra que indica en Visual Basic que lo que sigue es una macrofunción.
End Function indica que se ha terminado la 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 ha de escribirse el nombre que le asignamos a la macrofunción y que servirá posteriormente


para “llamarla”.

Argumentos son los datos iniciales para los cálculos que llevará a cabo la macrofunción y sus valores podrán ser
diferentes cada vez que ésta se utilice.

Cuerpo de la función se deben insertar las operaciones necesarias para calcular el resultado de la macrofunción
a partir de los datos iniciales recibidos como argumentos.

Una de dichas operaciones debe ser de la forma NombreFunción=Resultado, esto es, a la izquierda del signo
igual debe escribirse el nombre de la función y, a su derecha, una expresión que tome el valor que deseamos que
la macrofunción devuelva como resultado, puede ser una formula.

Cómo crear una macrofunción

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 Vista Programador y luego dar clic en la opción Visual Basic,
observe como:
CURSO DE MICROSOFT EXCEL

Este es el 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.

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:
CURSO DE MICROSOFT EXCEL

Ahora en la hoja del modulo procederemos a programar la macrofunción.

Ejemplo 1: Vamos a crear una macrofunción que nos calcule el área de un triangulo, que es igual a la Base por la
Altura sobre 2. Es decir:

Areatriangulo = Base * Altura / 2

Comencemos a programar la función:

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 Areatriangulo, 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:

Damos enter y observe que automáticamente se escribe el final de la función, veamos:

En medio ya podemos escribir la formula o las operaciones que va a calcular la función, para hallar el área de un
triangulo primero llamamos la función que en este caso es Areatriangulo = Base * Altura / 2, la escribimos tal
cual, observe:

Listo quedo programado nuestra primera macrofunción, guardamos los cambios, y volvemos a la Hoja de Excel y
creamos la siguiente planilla:
CURSO DE MICROSOFT EXCEL
En la columna Área del triangulo vamos a usar la Macrofunción creada, como cualquier función de Excel
comenzamos con igual luego con el nombre de la función, observe que con solo escribir la A ya podemos ver que
la función ya aparece en Excel, observe:

Damos doble clic en el nombre de la función y observe como queda ahora:

Seleccionamos los parámetros que vamos a enviarle a la función que son Base y Altura en nuestro caso son las
celdas A2 y B2 separados por ; cerramos paréntesis, observe:

Damos enter y observe que ya aparece calculada el Área del Triangulo, observe:
CURSO DE MICROSOFT EXCEL

Podemos copiar la función a las demás celdas de abajo y observe ya la planilla totalmente calculada:

Ejemplo 2: Calculemos el Área de un Trapecio la cual es Base Mayor + base menor * altura sobre 2, es decir:

AreaTrapecio = (BaseMayor + BaseMenor) * Altura / 2

Construimos la función:

Function AreaTrapecio (BaseMayor, BaseMenor, Altura), observe que la nueva macrofunción queda debajo de
la anterior, veamos:

Escribimos la formula que va a realizar la función, observe:

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 E2, F2 y G2 separados por ; cerramos paréntesis, observe:
CURSO DE MICROSOFT EXCEL

Damos enter y observe que ya aparece calculada el Área del Trapecio, observe:

Podemos copiar la función a las demás celdas de abajo y observe ya la planilla totalmente calculada:

CREANDO FORMULARIOS Y PROGRAMÁNDOLOS

Ahora aprenderemos a dominar lo máximo de Excel que es crear formularios y programarlos, bueno un formulario
es una ventana que se programa por medio de controles y estos controles responden a sucesos que nosotros
programamos.

Todo esto se encuentra dentro del Editor de Visual Basic. A continuación se muestra como crear un formulario y
como programarlo:

Del Menú Insertar elija la Opción UserForm, observe:

A continuación nos aparece en el explorador la carpeta de formularios y el UserForm que se muestra a la derecha
junto con el cuadro de herramientas, observe:
CURSO DE MICROSOFT EXCEL

Elija del Cuadro de Herramientas el Control Etiqueta el que tiene la A y Arrastre dibujando en el Formulario
USERFORM1 la etiqueta. Quedara el nombre Label1, observe:

Luego de un clic en la etiqueta dibujada y podrá modificar el nombre de adentro y lo cambiaremos por Nombre. Si
por error da doble clic en la etiqueta y lo manda a la pantalla de programación de la etiqueta, solo de doble clic en
USERFORM1 que se encuentra en el Explorador de Proyecto.

Elija del Cuadro de Herramientas el control Cuadro de Texto el que tiene ab| y arrastre dibujando en el
formulario USERFORM1 el cuadro de texto a un lado de la etiqueta que dice Nombre. El cuadro de texto debe de
estar vacío y su nombre será Textbox1, el nombre solo aparecerá en el control, observe:

Haga los dos pasos anteriores agregando dos controles de etiqueta y dos cuadros de texto. Esto quedara así
después de haberlo hecho:

Por último elija del Cuadro de Herramientas el control Botón de Comando el que es y arrastre dibujando en
el formulario USERFORM1 el botón debe quedar ubicado en la siguiente posición con el nombre Insertar:

Label1 TextBox1

Label2 TextBox2

Label3 TextBox3

CommandButton1
CURSO DE MICROSOFT EXCEL

Ahora de doble clic sobre el control Textbox1 para programarlo y después inserte el siguiente código:

Esto indica que se valla a la celda A9 y escriba lo que hay en el Textbox1, es decir cuando ejecute el formulario
en Excel en la celda A9 se escribirá el nombre que se digite en el formulario.

Nota: Lo que esta en azul lo genera Excel automáticamente, usted solo escribirá lo que esta en Negrita. Para
volver al Formulario y programar el siguiente Textbox de doble clic en Userform1 que se encuentra en el
Explorador de la izquierda:

Ahora de doble clic sobre el control Textbox2 para programarlo y después inserte el siguiente código:

Esto indica que se valla a la celda B9 y escriba lo que hay en el Textbox2.

Volver al UserForm1 doble clic sobre el control Textbox3 para programarlo y después inserte el siguiente código:

Esto indica que se valla a la celda C9 y escriba lo que hay en el Textbox3.

Para crear un comentario en visual Basic debes hacerlo utilizando comilla simple ‘
Volver al UserForm1 doble clic sobre el control CommandButton1 para programarlo y después inserte el
siguiente código:

Nota: El comando Rem o ‘ son empleados para poner comentarios dentro de la programación, el comando Empty
es empleado para vaciar los Textbox, es decir dejarlos en blanco para escribir un nuevo dato.

Guarde los cambios para que visual Basic guarde el formulario creado y configurado.
CURSO DE MICROSOFT EXCEL

Como Ejecutar el Formulario

Hay 4 formas:

1. Una es pulsando la tecla F5.

2. Otra es dar clic en el botón Ejecutar .


3. Otra es seleccionar el Menú Ejecutar y dar clic en Ejecutar Sub/UserForm.
4. La última es ejecutarlo utilizando un botón de formulario en la Hoja de Excel.

Pulsemos la tecla F5, y observe que el formulario aparece activado en la hoja de Excel, observe:

Se activará el Userform1 y todo lo que escriba en los Textbox se escribirá en Excel y cuando presione el botón
Insertar, se insertara un renglón y se vaciaran los Textbox y después se mostrara el cursor en el Textbox1.

Veamos insertaremos el siguiente registro en el formulario, observe que automáticamente cuando se escribe el
nombre en el formulario este se escribe inmediatamente en la celda A9, mire:

Continuemos con el registro observe como debe quedar:


CURSO DE MICROSOFT EXCEL

Damos clic en el botón Insertar, observe que los cuadros de texto del formulario quedan en blanco por si se quiere
agregar otro registro y el registro que se digito queda guardado en la celda A10 de la hoja de Excel, observe:

Agreguemos un registro más:

Damos clic en Insertar y observe como queda la lista ahora:

Cada vez que se agrega un nuevo registro este automáticamente inserta una fila por debajo de la celda que se
escribe y los anteriores registros insertados bajan una posición.
CURSO DE MICROSOFT EXCEL

Asignar el Formulario a un Botón desde Excel

Para cargar el formulario desde la hoja de Excel, en la vista Programador, en la opción Insertar, en Controles
ActiveX seleccionamos el botón de comando, observe:

Damos clic en la hoja para ubicarlo donde queremos, observe:

Para programarlo damos doble clic en el botón y nos aparece el editor de visual Basic, observe:

En medio digitamos las siguientes líneas de código, observe:

Load UserForm1 Carga el formulario


UserForm1.Show Hace visible el formulario lo muestra

Guardamos los cambios en el editor y regresamos a Excel.


CURSO DE MICROSOFT EXCEL

Para cambiarle el nombre al botón, lo seleccionamos y damos clic en la opción y nos aparece la
siguiente ventana:

Nos Ubicamos al frente de la opción Caption y


escribimos el nombre que deseamos ponerle al
botón para nuestro caso será Abrir Formulario y
cerramos la ventana.

Para activar el botón damos clic en la opción

Damos clic en el botón Abrir Formulario y observe que ya nos muestra el formulario:

Das könnte Ihnen auch gefallen