Você está na página 1de 14

Unidad 18.

Macros (I)
En esta unidad estudiaremos qu son las Macros, en qu nos pueden ayudar y cmo crear macros automticamente. Esta unidad tratar de manera muy sencilla el tema de macros sin entrar en profundidad con el lenguaje de programacin utilizado por MS Excel, el Visual Basic Application (VBA), ya que esto ocupara un curso entero y se sale del objetivo del curso.

18.1. 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.

18.2. Crear una macro automticamente

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.

Para grabar una macro debemos acceder a la pestaa Vista y despliega el submen Macros y dentro de este submenu seleccionar la opcin Grabar macro... Adems de esta opcin 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 opcion utilizaremos referencias reativas para que las macros se graben con acciones relativas a la celda inicial seleccionada.

Al seleccionar la opcin Grabar macro..., lo primero que vemos es el cuadro de dilogo Grabar macro donde podemos dar un nombre a la macro (no est permitido insertar espacios en blanco en el nombre de la macro). Podemos asignarle un Mtodo abreviado: mediante la combinacin de las tecla CTRL + "una tecla del teclado". El problema est en encontrar una combinacin que no utilice ya Excel. En Guardar macro en: podemos seleccionar guardar la macro en el libro activo, en el libro de macros personal o en otro libro. En Descripcin: podemos describir cul es el cometido de la macro o cualquier otro dato que creamos conveniente.

Para comenzar la grabacin de la macro pulsamos el botn Aceptar y a continuacin, si nos fijamos en la barra de estado, encontraremos este botn en la barra de estado grabacin. A partir de entonces debemos realizar las acciones que queramos grabar, es conveniente no seleccionar ninguna celda a partir de la grabacin, ya que si seleccionamos alguna celda posteriormente, cuando ejecutemos la macro, la seleccin nos puede ocasionar problemas de celdas fuera de rango. Una vez concluidas las acciones que queremos grabar, presionamos sobre el botn Detener haciendo clic en de la barra de estado, o accediendo al men de Macros y . donde tenemos la opcin de detener la

18.3. Ejecutar una macro


Una vez creada una macro, la podremos ejecutar las veces que queramos. Antes de dar la orden de ejecucin de la macro, dependiendo del tipo de macro que sea, ser necesario seleccionar o no las celdas que queramos queden afectadas por las acciones de la macro. Por ejemplo si hemos creado una macro que automticamente da formato a las celdas seleccionadas, tendremos que seleccionar las celdas previamente antes de ejecutar la macro.

Para ejecutar la macro debemos acceder al men Ver Macros..., que se encuentra en el men Macros de la pestaa Vista, y nos aparece el cuadro de dilogo Macro como el que vemos en la imagen donde tenemos una lista con las macros creadas. Debemos seleccionar la macro deseada y pulsar sobre el botn Ejecutar. Se cerrar el cuadro y se ejecutar la macro. En cuanto al resto de botones: Cancelar - Cierra el cuadro de dilogo sin realizar ninguna accin. Paso a paso - Ejecuta la macro instruccin por instruccin abriendo el editor de programacin de Visual Basic. Modificar - Abre el editor de programacin de Visual Basic para modificar el cdigo de la macro. Estos dos ltimos botones son para los que sapan programar. Eliminar - Borra la macro.

Opciones - Abre otro cuadro de dilogo donde podemos modificar la tecla de mtodo abreviado(combinacin de teclas que provoca la ejecucin de la macro sin necesidad de utilizar el men) y ladescripcin de la macro. Un detalle importante a tener en cuenta es que, si ejecutamos una macro, no es posible deshacer la accin desde la herramienta deshacer comn, por lo que es interesante ir con pies de plomo al ejecutar macros que vayan a realizar cambios importantes.

Ejercicio paso a paso: Crear una macro automticamente


Objetivo.
Aprender como crear una macro de forma automtica utilizando el grabador de macros. Crearemos una macro que automatice el formato de la cabecera de nuestra hoja de trabajo.

Ejercicio paso a paso


1. En un libro en blanco, sitate en la celda A1 y escribe Prueba de macros. Pulsa INTRO para guardar la informacin en la celda y luego sitate de nuevo en ella. 2. Ve a la pestaa Vista. 3. Abre el submen Macro. 4. Y elije la opcin Grabar nueva macro... Aparece el cuadro de dilogo Grabar macro. 5. Escribe el nombre de la macro, Formato. Y pulsa Aceptar. Ahora estamos grabando, vamos a realizar las acciones necesarias para dar formato a nuestra hoja de trabajo. 6. Presiona sobre el botn Negrita de la seccin Fuente, en la pestaa Inicio. 7. Presiona sobre el botn Cursiva de la seccin Fuente. 8. Escoge el tipo de fuente Cambria. 9. Escoge el tamao de la fuente en 14 puntos. Ya hemos concluido con el formato de una cabecera de datos, por tanto concluimos la grabacin de la macro. 10. Presiona sobre el botn detener de la barra de herramientas, o accede al men Macro y selecciona Detener grabacin. Ahora vamos a comprobar que funciona correctamente la macro creada. 11. Escribe en la celda E1 Cabecera. 12. Escribe en la celda G1 de. 13. Escribe en la celda I1 prueba. 14. Selecciona las celdas anteriores D1, E1 y F1. 15. Ve a la pestaa Vista. 16. Abre el submen Macro. 17. Elige Ver Macros.

18. Selecciona la macro creada formato y pulsa sobre Ejecutar. Observa como las celdas seleccionadas adoptan el formato automticamente. 19. Cierra el libro sin guardar los cambios.

8.4. Crear una macro manualmente


Para crear una macro de forma manual es necesario tener conocimientos de programacin en general y de Visual Basic en particular, ya que es el lenguaje de programacin en el que se basa el VBA de Excel. Si no tienes esta base puedes saltarte este punto del tema. Si quieres leer sobre los conceptos bsicos de programacin, visita nuestro bsico .

Primero debemos abrir el editor Visual Basic presionando la combinacin de teclas Alt+F11. Para ver el entorno de desarrollo de programacin del editor Visual Basicvisita nuestro bsico .

Una vez abierto el editor de Visual Basic debemos insertar un mdulo de trabajo que es donde se almacena el cdigo de las funciones o procedimientos de las macros. Para insertar un mdulo accedemos al men Insertar Mdulo. A continuacin debemos plantearnos si lo que vamos a crear es una funcin (en el caso que devuelva alg valor), o si por el contrario es un procedimiento (si no devuelve ningn valor). Una vez concretado que es lo que vamos a crear, accedemos al

men Insertar Procedimiento...

Nos aparece un cuadro de dilogo como vemos en la imagen donde le damos el Nombre: al procedimiento/funcin sin insertar espacios en su nombre. Tambin escogemos de qu Tipo es, si es un Procedimiento, Funcin o es una Propiedad. Adems podemos seleccionar el mbito de ejecucin. Si lo ponemos

como Pblico podremos utilizar el procedimiento/funcin desde cualquier otro mdulo, pero si lo creamos como Privado solo podremos utilizarlo dentro de ese mdulo. Una vez seleccionado el tipo de procedimiento y el mbito presionamos sobre Aceptar y se abre el editor de Visual Basic donde escribimos las instrucciones necesarias para definir la macro.

Si quieres practicar estos puntos puedes realizar el Ejercicio de crear una macro manualmente.

18.5. Guardar archivos con Macros


Cuando guardamos un archivo y queremos que las Macros que hemos creado se almacenen con el resto de las hojas de clculo deberemos utilizar un tipo de archivo diferente. Para ello deberemos ir la pestaa Archivo y seleccionar la opcin Guardar como.

Se abrir el cuadro de dilogo Guardar como. En el desplegable Guardar como tipo seleccionar Libro de Excel habilitado para macros (*.xlsm).

. Dale un nombre y el archivo se almacenar.

Cuando abrimos un archivo que tiene Macros almacenadas se nos mostrar este anuncio bajo la banda de opciones:

Esto ocurre porque Office no conoce la procedencia de las Macros. Como estn compuestas por cdigo podran realizar acciones que fuesen perjudiciales para nuestro equipo. Si confas en las posibles Macros que contuviese el archivo o las has creado t pulsa el botn Habilitar contenido. Y si no, cierra la advertencia de seguridad con el botn de la derecha.

Ejercicio paso a paso: Crear una macro manualmente


Objetivo.
Aprender cmo crear una macro de forma manual, es decir escribiendo el cdigo a mano.

Ejercicio paso a paso.


Empezaremos por crear una macro para poner a cero el contenido de ciertas celdas de nuestra hoja de trabajo. 1. Abre el libro ejemplo_macros de la carpeta Ejercicios del curso. 2. Guarda el libro en la carpeta Mis nombre libro_macros para no modificar el original. 3. Pulsa las teclas ALT+F11. aplicaciones. Se iniciar Microsoft Documentos con Visual Basic el para

4. Accede al men Insertar para insertar un nuevo mdulo. 5. Presiona sobre Mdulo. 6. Vuelve al men Insertar. 7. Selecciona Procedimiento... Nos aparece el cuadro de dilogo Procedimiento. 8. En el nombre del procedimiento escribe Limpiar. 9. Selecciona Procedimiento y que es de mbito Pblico. 10. Presiona sobre Aceptar. 11. Escribe el cdigo del procedimiento como se ve en la imagen, lo escrito en verde son comentarios aclaratorios, no los copies si no quieres.

12. Cierra la ventana del Editor de VisualBasic. Ahora vamos a comprobar que funciona correctamente la macro creada. 13. Accede a la pestaa Vista. 14. Haz clic en el botn Macros. 15. Selecciona la macro creada Limpiar y pulsa sobre Ejecutar. 16. Observa como las celdas del rango D10:F10 se han puesto a cero y las del rango D11:F11 se han quedado sin contenido. No cierres el libro. Para practicar otras instrucciones de VBA, vamos a definir una macro para sumar tres celdas y dejar el resultado en otra. 17. Pulsa las teclas ALT+F11. Te aparecer el mdulo con el procedimiento limpiar. Si no es as, busca en la zona de la izquierda, en el explorador de proyectos, en la carpeta Mdulos, el mdulo Mdulo1 y haz doble clic sobre l. 18. Accede al men Insertar para insertar un nuevo mdulo. 19. Selecciona Procedimiento... Nos aparece el cuadro de dilogo Procedimiento. 20. En el nombre del procedimiento escribe Sumar. 21. Selecciona Procedimiento y que es de mbito Pblico. 22. Presiona sobre Aceptar. 23. Escribe el cdigo del procedimiento como se ve en la imagen. Se incluir a continuacin del anterior.

24. Cierra la ventana del Editor de VisualBasic. Ahora vamos a comprobar que funciona correctamente la macro creada. 25. Ve a la pestaa Vista. 26. Haz clic en el botn Macros. 27. Selecciona la macro creada Sumar y pulsa sobre Ejecutar.

Observa como la celda F10 contiene la suma de las celdas B3, B4 y B5. Por ltimo practicaremos con el bucle For each... next, muy til en este tipo de programacin. 28. Pulsa las teclas ALT+F11. Te aparecer el mdulo con el procedimiento anterior. Si no es as, busca en la zona de la izquierda, en el explorador de proyectos, en la carpeta Mdulos, el mdulo Mdulo1 y haz doble clic sobre l. 29. Accede al men Insertar para insertar un nuevo mdulo. 30. Selecciona Procedimiento... Nos aparece el cuadro de dilogo Procedimiento. 31. En el nombre del procedimiento escribe Aumentar. 32. Selecciona Procedimiento y que es de mbito Pblico. 33. Presiona sobre Aceptar. 34. Escribe el cdigo del procedimiento como se ve en la imagen, para aumentar un 50% los valores contenidos en las celdas seleccionadas.

35. Cierra la ventana del Editor de VisualBasic. Ahora vamos a comprobar que funciona correctamente la macro creada. En este caso, como la macro funciona a partir de las celdas seleccionadas, tenemos que seleccionarlas antes de ejecutar la macro. 36. Selecciona un rango de celdas incluido en B3:B9 (selecciona los precios de los artculos que van a variar, puedes incluso seleccionar celdas no contiguas con la tecla CTRL). 37. Ve a la pestaa Vista. 38. Haz clic en el botn Macros. 39. Selecciona la macro creada Aumentar y pulsa sobre Ejecutar. Observa como los valores de las celdas seleccionadas han aumentado un 50%.

40. No cierres el archivo, en el siguiente ejercicio lo guardaremos con Macros incluidas.

Você também pode gostar