Sie sind auf Seite 1von 21

MACROS Introduccin Cuando trabajamos con un libro personalizado, es decir, que nos hemos definido con una serie

de caractersticas especficas como puedan ser el tipo de letra, el color de ciertas celdas, los formatos de los clculos y caractersticas 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, aadiendo por ejemplo un botn en nuestro libro que al pulsar sobre l realice todas esas tareas. GRABAR UNA MACRO La forma ms fcil 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 programacin. Cuando grabe una macro, la grabadora de macros graba todos los pasos necesarios para completar las acciones que desea grabar. Guardar Archivo para Macros Antes de realizar cualquier macro es necesario, guardar el archivo correctamente, ya que si lo guardamos normalmente las macros no se graban y no funcionan, para ello debemos hacerlo de la siguiente manera. 1. Dar clic en la pestaa Archivo 1 2 2. Luego dar clic en la opcin Guardar como

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

3. Luego damos clic en la flecha de la opcin Tipo.

4. Luego clic en la opcin Libro de Excel habilitado para macros. 4

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

5. Despus digitar el nombre del archivo 6. Dar clic en el botn Aceptar.

7. Observe que el cono del archivo tiene una nueva imagen y nueva extensin que es .xlsm

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Como Activar la Pestaa Programador 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, para mostrarla debemos hacer lo siguiente: 1. Dar clic en la pestaa Archivo.

2. Luego dar clic en Opciones.

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

3. En la ventana que aparece damos clic en Personalizar cinta de opciones. A la derecha damos clic en la opcin Programador y damos clic en el botn Aceptar.

3. 1

3. 2

3. 3 4. Observen donde aparece la pestaa Programador.

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Seguridad en Macros Para establecer el nivel de seguridad de manera que estn habilitadas temporalmente todas las macros, haga lo siguiente: En la pestaa Programador, en el grupo Cdigo, haga clic en el cono de Seguridad de macros. 1

En la ventana que aparece de clic en Configuracin de macros, a la derecha de clic en Habilitar todas las macros, por ltimo dar clic en el botn Aceptar.

Nota Para ayudar a evitar que se ejecute cdigo potencialmente peligroso, recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros.

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Como Grabar una 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 algn error mientras se graba la macro, tambin se grabarn las correcciones que se realicen. 3. Cada vez que se grabe una macro, sta se almacenar en un nuevo mdulo adjunto a un libro. 4. Habilite siempre dando clic en la opcin Usar referencias Relativas

Para que las macros puedan ser usadas en cualquier celda. Al grabar una macro, Excel almacena informacin sobre cada paso dado cuando se ejecuta una serie de comandos. A continuacin, se ejecuta la macro para que repita los comandos. Si se comete algn error mientras se graba la macro, tambin 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 2010, con negrita, con subrayado, tamao 18, letra Algerian, color rojo y alineado al centro, veamos: Primero dar clic en el botn Usar referencias relativas observe: , luego ubicamos el cursor en la celda B2,

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Una vez ubicados en la celda damos clic en el botn Grabar macro, tenga en cuenta los pasos que se deben hacer, porque 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 opcin Mtodo Abreviado aparece que se activara con la combinacin de teclas Control (CTRL) + la letra que usted indique, Ejemplo digitaremos la letra s. La macro se activara cuando est lista con la combinacin de teclas 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 y damos clic en el botn Aceptar.

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Damos clic en Aceptar para iniciar la grabacin de la macro. En este momento, todas las acciones que realice se estarn registrando por Excel, as que recomiendo no hacer pasos innecesarios: En la celda escribimos:

Luego vamos a la vista Inicio y le aplicamos Negrita:

Aplicamos tamao 18 y ampliamos la celda:

Aplicamos fuente o letra Algerian y ampliamos nuevamente la celda:

Aplicamos subrayado:

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Aplicamos color rojo:

Por ltimo aplicamos alinear al centro:

Volvemos a la vista Programador y damos clic en el botn detener grabacin para finalizar la macro

Ahora para probar la macro ubiqumonos en la celda B12, observe:

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Pulsamos la combinacin de teclas Ctrl + s, observe que automticamente la macro se ejecuta y realiza todo el proceso anteriormente grabado:

Si queremos nuevamente aplicar la macro solo tenemos que volver a usar la combinacin de teclas Ctrl + s, por ejemplo en la celda B6.

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Observe que automticamente se vuelve a aplicar la macro idnticamente al texto con los cambios que se le aplicaron.

Como Asignar una Macro a un Botn Teniendo ya la macro creada podemos asignarle un botn. Para ello en la vista Programador, damos clic en la opcin Insertar y en Controles de formulario damos clic en el botn de comando, observe:

1 2

Damos clic en cualquier parte de la hoja para ubicar el botn de Comando y observe la ventana que aparece, seleccione la macro que se desea asignar al botn en este caso Curso.

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Observe como queda configurado el botn asignado a la macro.

Para cambiar el nombre al botn, damos clic derecho sobre el botn y luego clic en la opcin Modificar texto.

Cambiamos el texto y damos clic en cualquier parte de la hoja. Observe como queda el botn.

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Para probarlo ubique el cursor en la celda B8 y luego de clic en el botn Macro Curso, observe, que automticamente 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 lnea de cdigo. Aunque este tipo de macros solo nos sirven cuando debemos aplicar muchos formatos, abrir archivos, guardar, ubicarse en una posicin especifica de Excel, etc.

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Programar en el Editor de Visual Basic de Excel Macrofunciones Una macrofuncin es una funcin definida por el usuario. En Microsoft Excel 2010 al igual que los macrocomandos, se guardan en mdulos (recuerda: un tipo especial de hojas) y han de estar escritas en Visual Basic. A diferencia de los macrocomandos, crear una macrofuncin supone que el usuario ha de teclear su definicin en un mdulo. Por qu el usuario va a querer crear una macrofuncin? Por varias razones: porque usa muchas veces una frmula que no viene predefinida en Excel; porque es ms rpido crear una funcin y llamarla posteriormente que introducir las mismas operaciones cada vez que haga falta; porque la hoja de clculo puede resultar ms legible: si tenemos una macrofuncin cuyo nombre es AreaEsfera, no hacen falta ms explicaciones sobre cul es su cometido. Estructura de una macrofuncin La estructura de una macrofuncin es la siguiente:

Function es la palabra que indica en Visual Basic que lo que sigue es una macrofuncin. End Function indica que se ha terminado la macrofuncin. Estas palabras han de escribirse literalmente, no pueden ser utilizadas por el usuario en el cuerpo de la macrofuncin y se denominan palabras reservadas (al escribirlas en el mdulo, aparecern de color azul). NombreFuncin ha de escribirse el nombre que le asignamos a la macrofuncin y que servir posteriormente para llamarla. Argumentos son los datos iniciales para los clculos que llevar a cabo la macrofuncin y sus valores podrn ser diferentes cada vez que sta se utilice. Cuerpo de la funcin se deben insertar las operaciones necesarias para calcular el resultado de la macrofuncin a partir de los datos iniciales recibidos como argumentos.

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Una de dichas operaciones debe ser de la forma NombreFuncin=Resultado, esto es, a la izquierda del signo igual debe escribirse el nombre de la funcin y, a su derecha, una expresin que tome el valor que deseamos que la macrofuncin devuelva como resultado, puede ser una formula. Cmo crear una macrofuncin Como ya dijimos, crear una macrofuncin supone que el usuario ha de teclear su definicin en un mdulo. Para ello, ejecutar el Editor de Visual Basic desde la Vista Programador y luego dar clic en la opcin Visual Basic, observe como:

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 mdulo que es una hoja que nos permite escribir el cdigo de programacin de la macrofunciones. Los Mdulos irn siempre asociados a un libro de trabajo. En un mdulo se pueden definir tantas macrofunciones como se desee.

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Como Crear un Modulo Para crear un mdulo nuevo se debe seleccionar el men Insertar y luego dar clic en la opcin Mdulo, 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:

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Ahora en la hoja del mdulo procederemos a programar la macrofuncin. Ejemplo 1: Vamos a crear una macrofuncin que nos calcule el rea de un tringulo, que es igual a la Base por la Altura sobre 2. Es decir: Areatriangulo = Base * Altura / 2 Comencemos a programar la funcin: Primero debemos escribir la palabra reservada Function que le indica a Visual Basic que se va a escribir una funcin, luego escribimos el nombre de la funcin en este caso es Areatriangulo, luego abrimos parntesis para escribir los argumentos o parmetros que se ingresan o los que estn 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 parntesis, observe:

Damos Enter y observe que automticamente se escribe el final de la funcin, veamos:

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

Listo quedo programado nuestra primera macrofuncin, guardamos los cambios, y volvemos a la Hoja de Excel y creamos la siguiente planilla:

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

En la columna rea del tringulo vamos a usar la Macrofuncin creada, como cualquier funcin de Excel comenzamos con igual luego con el nombre de la funcin, observe que con solo escribir la A ya podemos ver que la funcin ya aparece en Excel, observe:

Damos doble clic en el nombre de la funcin y observe como queda ahora:

Seleccionamos los parmetros que vamos a enviarle a la funcin que son Base y Altura en nuestro caso son las celdas A2 y B2 separados por punto y coma ; cerramos parntesis, observe:

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Damos Enter y observe que ya aparece calculada el rea del Tringulo, observe:

Podemos copiar la funcin a las dems 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 funcin: Function AreaTrapecio (BaseMayor, BaseMenor, Altura), observe que la nueva macrofuncin queda debajo de la anterior, veamos:

Escribimos la frmula que va a realizar la funcin, observe:

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Guardamos los cambios y volvemos a Excel y creamos la siguiente planilla en la misma hoja de la anterior Macrofuncin, observe:

Seleccionamos los parmetros que vamos a enviarle a la funcin que son Base Mayor, Base Menor y Altura en nuestro caso son las celdas E2, F2 y G2 separados por ; cerramos parntesis, observe:

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

Podemos copiar la funcin a las dems celdas de abajo y observe ya la planilla totalmente calculada:

Bueno estimados aprendices est aqu llega el tema de las macros, espero que el material haya sido de su total agrado y que pongas en prctica lo aprendido en la Actividad de esta semana.

Tutor AVA: Ing. Guillermo Alexander Burgos Ibarra C.T.P.I SENA Regional Cauca copyright@2013

Das könnte Ihnen auch gefallen