You are on page 1of 15

[Tutorial] Aprende a usar Macros en Excel en un rato

Excel cuenta con un complemento muy poderoso llamado Visual Basic (solo una parte del lenguaje), que permite hacer o resolver los problemas mas fcilmente. Por inercia, generalmente los usuarios de Excel (inclusive los avanzados) tienden a desconocer el uso de esta herramienta, sobre todo por no animarse a investigar sobre el tema. He visto muchos posts en taringa que contienen manuales de Macros, pero no me pareci ver un post que explique lo que es un Macro en su nivel mas bsico, y que oriente (y anime) a los usuarios a dar los primeros pasos de esta aplicacin tan poderosa, que lograr hacer de Excel en este caso, una herramienta mucho mas potente. Antes que nada quiero aclarar que estoy incursionando en esto de los posts, as que pido disculpas de antemano por cualquier error u omisin que encuentren. En dicho caso les pido que me dejen su comentario e intentar arreglarlo en breve (este post ya haba sido subido pero fue dado de baja por razones de no cumplir el protocolo y decid volver a subirlo dada la utilidad que entiendo le pueden encontrar). He hecho uso de taringa durante un buen tiempo, y consider que ya era hora de devolverle algo, aunque mas no sea esto, que es el producto de unos 5 o 6 aos de experiencia laboral usando estas 2 utilidades. Comienzo por explicar con mis propias palabras lo que es un(a) Macro: Una Macro es una serie de pasos que se almacenan para que sean ejecutados posteriormente. Quizs no la entiendan en un principio pero cobrar sentido a medida que avanzan en el post. Por ejemplo, todos los das empleo frecuentemente en mis celdas los mismos pasos: Tamao de Fuente (Tamao de la letra), Negrita, Fuente (Tipo de letra) y Color de Fuente (Color de Letra). Imaginen que quieren convertir el siguiente ejemplo:

En lo siguiente:

Hacer este procedimiento una vez, es muy sencillo y todos sabemos hacerlo. Ahora imaginen que en el trabajo deben repetir este procedimiento varias veces por da, todos los das sera bueno encontrar una forma para que Excel haga ese trabajo por nosotros no ? Este es un ejemplo muy sencillo y muy bsico simplemente para orientar al usuario acerca de lo que puede hacer Excel por nosotros. Veamos entonces un ejemplo un poco mas complejo. Como les comentaba anteriormente, hago uso de esta combinacin de herramientas todos los das en mi trabajo. En una oportunidad, me encontr ante la siguiente situacin: Imaginen una empresa que vende determinado tipo de producto cualquiera y que se basa en una planilla de Excel cuando recibe un pedido y debe pasar dicho pedido a la seccin de Depsito. Dicha planilla tena una vista algo similar a lo siguiente:

Cual era el procedimiento ? - Se tomaba el pedido al cliente y se ingresaban las cantidades deseadas en cada artculo. - Se filtraban los datos para que solo queden visibles los artculos que tengan algo en la columna Cantidad - Se impriman dos copias para que el depsito prepare el pedido - Se guardaba el archivo - Se enviaba por correo el archivo con los cambios a la persona encargada de hacer el flete. Ahora ya estamos hablando de un procedimiento ms complejo, pero an as es capaz de ser realizados por una Macro. Estoy seguro que ya son capaces de darse cuenta del tiempo que nos puede ahorrar esta herramienta (siempre asociado a tareas repetitivas). Repasemos ahora la definicin que les viramos acerca de los Macros para ver si ahora tiene mas sentido:

Una Macro es una serie de pasos que se almacenan para que sean ejecutados posteriormente. Se ve mas claro cual es el concepto ahora ? Con la ayuda de una Macro, voy a poder primero guardar un procedimiento, una serie de pasos, para poder luego ejecutarlo, haciendo que Excel repita dicha ejecucin de pasos en el mismo orden en el que lo grab.

Como funciona y como se complementa Excel y Visual Basic ? Si tenemos un libro de Excel abierto, presionando la combinacin de teclas: Alt + F11 lograremos hacer que se abra el editor de Visual Basic. Este editor es quien guardar la informacin de la Macro, justamente en lenguaje Visual Basic (por ahora abran y cierren si quieren el editor todava no vamos a hacer nada en l).

Es importante remarcar dos importantes aspectos: 1) No es necesario saber absolutamente nada de programacin para poder crear una macro sencilla. Excel dise una posibilidad para que aquellos usuarios sin nociones de programacin, puedan de todas maneras hacer uso de esta herramienta. 2) Lo que est escrito en el editor de Visual Basic, se graba dentro del archivo Excel en cuestin; es decir, no es nada que se tenga que graba por separado en otro archivo. Debido a la primer consideracin, en este post no vamos a exponer como manejarnos en el entorno de Visual Basic (en la ventana de dicho programa), salvo por algunos aspectos fundamentales, ya que no es la prioridad en este caso; sino que optaremos por enfocarnos en el uso bsico de esta herramienta. Si este post es de utilidad y lo encuentran prctico, luego podr ver de desarrollar un tutorial acerca de cmo manejarnos en este entorno.

Como se crea una Macro ? Existen al menos dos maneras para crear una Macro: - Si conocemos el lenguaje de programacin Visual Basic, en el editor, podemos directamente escribir el cdigo del mismo. Por supuesto que esto es solo para usuarios avanzados y no es lo que haremos en esta oportunidad. - Grabar una Macro: Por suerte, Excel tiene desarrollada la posibilidad de grabar una

Macro. Que quiere decir esto ? Es simple, cuando nosotros empecemos a grabar una Macro, Excel filmar todos los movimientos que nosotros hagamos dentro del programa, y los traducir al cdigo de Visual Basic para que luego lo podamos ejecutar como Macro. Veamos un ejemplo de esto para que sea mas entendible: En versiones anteriores a Excel 2007, debemos ir al Men View (Vista) Visual Basic (les recomiendo queToolbars (Barra de Herramientas) abran un libro nuevo en blanco y cierren todos los otros archivos Excel que puedan tener abiertos)

Aparecer la siguiente Barra de Herramientas (Toolbar)

Noten lo siguiente: los primeros dos conos que aparecen en dicha barra de herramientas, son muy similares a los que podemos encontrar en cualquier programa reproductor de msica o video, son los ya conocidos botones de Play o Reproducir y el de Record o Grabar. Si presionan el botn de Play, les aparecer la siguiente ventana:

Porqu aparece vaca ? Es porque todava no hemos creado un macro en este libro nuevo. Una vez que grabemos un macro y le asignemos un nombre, estos irn apareciendo en esta ventana, y esta ser una de las 3 formas que tendremos para ejecutarlo.

-------------------------------------------------------------------------------------------------------Apndice para usuarios de Excel 2007 (solo ellos lean los siguientes 4 puntos) -------------------------------------------------------------------------------------------------------1) Debern ir a Inicio, Opciones de Excel:

2) Y en la ventana que aparecer debern marcar la pestaa de Mas Frecuentes, para luego marcar la casilla que dice Mostrar ficha Programador en la cinta de opciones y luego hacer clic en aceptar.

3) Ahora vemos como entonces en la cinta de opciones, tenemos la opcin de Programador. Si vamos a ella, podremos ver lo siguiente:

4) Donde los botones de Grabar o Record con la forma vista anteriormente, se sustituyen simplemente por Grabar Macro, y el botn de Play o Reproducir, lo encontramos bajo el nombre de Macros. -------------------------------------------------------------------------------------------------------Volvemos al funcionamiento en comn, sin importar la versin de Excel que estemos utilizando -------------------------------------------------------------------------------------------------------Nos vamos a concentrar por ahora entonces, en el botn de Record o Grabar Macro. Algo importante es saber que desde que presionemos dicho botn, Excel estar filmando todo lo que nosotros hacemos, y lo har hasta que detengamos dicha grabacin. Vemos un ejemplo prctico para ver como funciona: Al presionar el botn de Grabar, aparecer la siguiente ventana:

Donde Excel nos est preguntando, entre otras cosas, como queremos que se llame la Macro. El resto de las opciones las dejaremos para ver mas adelante. Elegimos un nombre adecuado (igual estamos haciendo un ejemplo), y presionamos Ok. En este momento comenzar la grabacin. En este ejmplo, lo que hice fue lo siguiente (este es un ejemplo muy sencillo y solo a fines de entender el funcionamiento. La verdadera utilidad la veremos mas adelante):

Me par en la celda C1, y escrib: Ejemplo Con el mouse me par directamente en la celda C4 y escrib De cmo grabar Con el mouse me par directamente en la celda C7 y escrib una macro Presion la tecla Enter Noten como luego de comenzar la grabacin, el botn con forma de Record, se convirti en el de Stop (en versiones anteriores a 2007), o simplemente como el botn de Record Macro se convirti en Stop Recording.

Luego que terminemos de grabar la macro, pararemos la grabacin presionando sobre dicho botn. Al presionar el botn de Detener grabacin, habremos terminado de crear nuestro primer Macro. Solamente a fines didcticos, y para que entiendan que es lo que hace Excel, les recomiendo hacer lo siguiente: Segn su versin, presionen el botn de Ejecutar Macro o Macros

Aparecer la misma ventana que vimos anteriormente:

En este caso, en la lista de Macros, nos aparece el nombre del Macro que acabamos de crear. Presionen el botn de Edit o Modificarque muestra la figura. Excel los llevar al editor de Visual Basic, y les mostrar nada menos que el cdigo en dicho lenguaje que gener cuando nosotros grabamos el Macro:

Que fue lo que pas ? Desde el momento en que empezamos la grabacin, Excel film nuestros pasos y los tradujo al lenguaje de Visual Basic y lo almacen en forma de Macro. Como les coment en un principio, no es la idea en esta oportunidad, profundizar sobre el cdigo en si mismo, pero como podrn apreciar (si recuerdan cual fue la secuencia de pasos que hicimos en Excel), no se trata de un lenguaje para nada complejo. Es claro notar en el cdigo, la referencia a cuando hicimos clic sobre la celda C1, luego escribimos Ejemplo, luego hicimos clic sobre la celda C4, y as sucesivamente. Creo que en este momento ya estn en situacin de comprender realmente lo que significa esto y tambin de darse cuenta de lo que pueden llegar a realizar con esta herramienta. Ya estamos en condiciones de probar el funcionamiento de esta macro. En la misma ventana, en vez de presionar el botn de Editar, vamos a presionar el de Ejecutar o Run. IMPORTANTE: Antes de hacer esto, deben hacer una de estas dos cosas: - Borrar lo que ya escribieron (porque de lo contrario Excel sobre escribira las celdas en cuestin y no notarn la diferencia, o - La otra opcin es pararse en una hoja de clculo nueva (en el mismo archivo / libro, pero en una hoja en blanco) y desde ah ejecutan la Macro.

Vern cmo se ejecutan los mismos pasos que nosotros mismos grabamos y llegamos al mismo resultado de cuando nosotros realizamos la grabacin.

Para ver un ejemplo mas concreto y til, podemos hacer uno que pinte de un determinado color, y le aplique un determinado formato a la letra de las celdas que estn seleccionadas. Quiero convertir:

En:

Como hago ? El procedimiento es sencillo y quizs algn usuario avanzado ya se anime a hacerlo solo. Es que en realidad ya estaran en condiciones de hacerlo por sus propios medios, pero por si acaso, repasaremos los pasos a seguir, y veremos un detalle muy importante para esta situacin en particular, y para muchas ms.

Ntese lo siguiente: En este caso, yo no quiero escribir en la celda A1 la palabra Artculo, en B2 Cantidad... y luego aplicar el formato que quiera en realidad el objetivo de esta macro es aplicar un formato deseado a unas celdas en particular, previamente seleccionadas. Es importante tomarse un minuto para reflexionar sobre la diferencia entre ambas situaciones. Espero que con el prximo ejemplo quede mas clara la diferencia:

Tambin se trata de darle formato a los ttulos, pero para que comprendan la diferencia, solo seleccion las 3 primeras celdas. Ahora grabar mi macro, presionando el botn Grabar Macro y le dar a las celdas el formato que yo quiera.

Es importante reiterar que antes de grabar el macro yo ya deba tener las celdas seleccionadas, luego aplico el formato, y luego al terminar de aplicar el formato, presiono el botn Detener grabacin, sin mover las celda seleccionadas y sin tampoco seleccionar una nueva celda con el mouse. Porque es importante esto ? Porque como viramos mas arriba, cada accin que nosotros hacemos es filmada por Excel y luego traducida a Visual Basic. Entonces que pasara si, mientras grabamos el macro, nos posicionamos con el mouse en la celda A3 ? Luego, cada vez que ejecutemos la Macro, luego de aplicar el formato a las celdas seleccionadas Excel se va a ir a parar a la celda A3, porque eso tiene escrito en el cdigo del Macro. La manera de darse cuenta si lo que hicimos fue correcto, una vez terminada la grabacin, debemos seleccionar las otras dos celdas que quedaron sin formato, y correr el Macro con esas celdas seleccionadas, a ver si Excel es capaz de aplicarle el mismo formato que intentamos grabar. Si logran hacerlo, ya habrn creado su primer Macro con una utilidad vlida.

Deber haber desaparecido la ventana de Macros y el resultado por supuesto que ser el siguiente:

Ahora, prueben escribir cualquier cosa en cualquier celda, luego seleccinenlas y corran nuevamente el macro, para que vean como toma el formato establecido en el Macro.

Donde todos a esta altura ya sabremos cual ser el resultado:

Por si acaso, dejo una captura de pantalla con el cdigo de Visual Basic de este Macro en particular:

Resumiendo un poco el tema, lo que es necesario que entiendan es que la aplicacin de Macros en Excel es muy til para situaciones en las que se repite el mismo proceso reiteradamente, y la variedad de aplicaciones es infinita, desde situaciones muy pero muy simples, hasta situaciones realmente complejas. Aquellos usuarios avanzados seguro podrn practicar situaciones particulares propias y les puedo asegurar que el ensayo y el error es la mejor manera de aprender. De todas maneras, si alguien se encuentra en una situacin que no puede resolver, no tengo inconveniente en que me contacte y veremos entre los dos cual sera la mejor solucin al problema. Donde se graba una Macro ? Si bien este punto ya fue cubierto, es importante repasarlo ahora que tenemos un concepto mas claro del tema. Habamos dicho que la Macro se graba dentro del mismo archivo de Excel, es decir, no se graba en ningn archivo por separado.

El problema es que para ejecutar una Macro, debe estar abierto el archivo Excel que la contiene. En otras palabras, si nosotros guardamos el archivo en el que grabamos la Macro anterior y lo cerramos, no podremos ejecutarlo en algn otro libro de Excel que est abierto. Para solucionar este problema entonces, es que existe lo que se llama el libro de Macros Personal. Esto es un archivo oculto a la vista del usuario, que se abre siempre que abrimos Excel, donde grabaremos todos los Macros que queremos que estn siempre disponibles para poder ser ejecutados. Volvemos por un segundo a la pantalla que aparece luego que presionamos el botn de Grabar Macro y prestemos atencin a la pestaa desplegable de Store macro in o Guardar Macro en y analicemos las opciones que nos ofrece:

Las dos ltimas opciones son bastante intuitivas: This Workbook o Este Libro significa que la Macro ser grabada en este archivo en particular, lo que implica que solo podr ser ejecutado si este archivo en particular est abierto. La opcin New Workbook o Nuevo Libro, es igual que la anterior, con la diferencia que abrir un nuevo archivo Excel y la Macro ser guardada en l. Lo novedad es la que nos ofrece la opcin Personal Macro Workbook o Libro de Macros Personal, que grabar dicha Macro en ese archivo que comentramos lneas atrs, que consiste en aquel libro oculto que se abrir cada vez que abramos Excel. Esto permitir que las Macros que grabemos en ese archivo personal, estn siempre disponibles siempre que Excel est abierto (por lo general es mejor siempre usar esta opcin). Es importante mencionar que la primera vez que hayamos grabado nuestra primer Macro en dicho libro personal, Excel crear ese archivo para guardar todos nuestros Macros; es decir, antes de haber grabado el primero, dicho archivo todava no existe. Luego de haber creado nuestro primer Macro en el libro personal, podremos ver ese archivo, o sea des ocultarlo. Para esto debemos hacer lo siguiente:

Y aparecer la siguiente ventana:

Esto quiere decir que estamos des ocultando el archivo de Macros personal, y ahora ser visible. Esto nos permitir de ser necesario, modificar los Macros grabados en este archivo Personal (si el libro est oculto, no podremos hacer modificaciones en el cdigo del Macro):

Una vez hechas todas las modificaciones en los Macros guardados en el libro personal, es necesario volver a ocultarlo antes de cerrar Excel (para hacer esto debemos estar posicionados en el libro de Macros):

Sin que casi nos demos cuenta, este archivo desaparecer de nuestra vista. Lo que debemos hacer a continuacin es guardar todos los archivos de Excel, y cerrar por completo la aplicacin. Al hacer esto, como modificamos un libro que estaba oculto, antes de cerrar, Excel nos preguntar lo siguiente:

A lo que es ms que evidente que responderemos que S. Ese archivo oculto que se abre automticamente cuando abrimos Excel a parir de ahora, es guardado en la siguiente direccin:

ocuments and Settings

Application DataMicrosoftExcelXLSTART

Estas carpetas son carpetas ocultas, por lo que para poder verlas debern asegurarse de que en el explorador de archivos, tengan marcada la siguiente opcin:

Como se ejecuta una Macro ?

Hasta ahora hemos visto solo una manera de ejecutar una Macro, pero hay al menos otras dos maneras que nos sern de mucha ms utilidad. Si vamos a la ventana donde nos aparecen los macros disponibles, atenderemos ahora al botn Opciones, que nos ofrece dicha ventana:

Al presionar el botn Opciones, nos aparecer la siguiente ventana:

Que nos permitir asignarle un acceso directo a la ejecucin de dicho Macro, mediante la combinacin de teclas deseado (as como por ejemplo si presionamos Ctrl + G o Ctrl + S (segn el idioma), nos guarda el archivo, en el ejemplo, simplemente al presionar Ctrl + t ejecutar el Macro FormatoTtulos sobre las celdas que estn seleccionadas. Es posible que la combinacin de teclas sea Ctrl + una letra o Ctrl + Shift + una letra (a discrecin del usuario). La otra gran opcin que nos permite ejecutar una Macro es creando una barra de herramientas personalizada, que contenga un botn que tambin ejecute esa Macro. Primero veremos como hacerlo en versiones de Office anteriores a 2007 (seguir las

indicaciones de las capturas de pantalla):

Aparecer una pequea barra de herramientas en la pantalla (es la que acabamos de crear). Debemos ahora introducirle un botn (pinchamos y arrastramos Custom Menu Item hacia la nueva barra de herramientas):

Y haciendo clic derecho sobre ese nuevo botn, le asignaremos el Macro que creamos anteriormente:

Noten como pueden cambiarle la apariencia a dicho botn, cambiando entre otras cosas lo que dice el botn y la imagen del mismo:

Al cerrar todas las ventanas que hemos abierto para personalizar el men, nos encontramos con que ahora tenemos una nueva barra de herramientas, que tiene un botn que ejecuta una accin que nosotros mismos hemos creado. Para culminar, lo nico que falta es ubicar (arrastrando) esa barra de herramientas, junto a las otras barras de herramientas que tenemos en Excel:

En Excel 2007, esta personalizacin se hace de la siguiente manera:

En la barra de herramientas e acceso rpido (donde estn las flechas de deshacer, guardar, etc.), hacemos clic derecho y seleccionamos lo siguiente:

Y procedemos segn la captura de pantalla:

Para poder cambiar la imagen del botn y / o cambiar lo que el mismo dice, debemos hacer clic en la opcin de Modificar:

Ahora mi barra de herramientas se ve de la siguiente manera:

Esto sera todo para esta primer entrega para complementar, les dejo para que les sirva como ejemplo, un libro de Macros Personales mo, con algunas Macros que utilizo de manera cotidiana en el trabajo, y realmente me hacen ganar mucho tiempo (por mas sencillas que sean). Dej solo los ms sencillos (aunque alguno requiri de programacin adicional), pero creo que sern de aplicacin a aquellos que utilicen Excel en su trabajo diario. En dicho archivo est la lista de Macros disponibles. Si les parece de inters y quieren tener disponible dichos Macros, debern copiar este archivo en la carpeta que veamos hoy ms temprano:

C:-Documents and Settings-Application Data-Microsoft Excel- XLSTART (sustituyan el guin "-" por la barra invertida)

Apndice: Autorizar el uso de Macros al abrir Excel:

Seguramente ocurra que al abrir un archivo que contiene Macros, nos aparezca una advertencia de seguridad, la que debemos desactivar para que se puedan ejecutar las Macros. En Excel 2007 se vera as:

En versiones anteriores, debemos seguir la siguiente secuencia de pasos:

Para luego hacer lo siguiente:

Luego de hacer esto, al abrir un archivo que contenga Macros, nos aparecer el siguiente cartel:

Bueno ahora s creo que estoy en condiciones de dar por finalizado este tutorial. Espero que les sirva de ayuda y por sobre todo, que sea suficiente para que rompan con ese miedo que algunos pueden tener con encarar el tema de Macros por considerar que es algo demasiado complicado. De todas maneras, si alguno se ve en apuros para realizar algn Macro en especial, no dude en consultarme y juntos veremos que podemos hacer. Como dije al principio del post, pido disculpas en las fallas que puede tener el mismo, ya que este es mi primer post, por lo que agradecer cualquier comentario que me ayude a mejorarlo

You might also like