Você está na página 1de 16

Sesin 12 Macros

MACROS

Objetivo

Aprender a usar las macros de excel.

Contenido

Trabajar con macros.

200 Microsoft Excel 2010


Macros Sesin 12

1. Trabajar con macros


Si utilizas Excel frecuentemente es posible que en alguna ocasin te ha-
yas encontrado ejecutando una misma serie de acciones una y otra vez.
Esas acciones que haces repetidas veces se podran automatizar con una
macro.

Una macro es un conjunto de comandos que se almacena en un lugar


especial de Excel de manera que estn siempre disponibles cuando los
necesites ejecutar.

Por ejemplo, si todas las maanas creas un reporte de ventas y en ese


reporte siempre das el mismo formato a los textos, se podra crear una
macro para que lo haga automticamente por ti. Las macros se utilizan
principalmente para eliminar la necesidad de repetir los pasos de aque-
llas tareas que realizas una y otra vez.

Un lenguaje de programacin
Las macros se escriben en un lenguaje de computadora especial que es
conocido como Visual Basic for Applications (VBA). Este lenguaje permi-
te acceder a prcticamente todas las funcionalidades de Excel y con ello
tambin ampliar la funcionalidad del programa.

Pero no te preocupes si no eres un programador de computadoras, Excel


provee de una herramienta especial que permite crear una macro sin
necesidad de conocer los detalles del lenguaje de programacin. Aun-
que si aceptas el desafo y te introduces en el mundo de la programacin
VBA pronto te convertirs en un Ninja de Excel.

Vers que crear una macro en Excel no es tan complicado y ser una
manera fcil y rpida de eliminar esas tareas repetitivas que todos los
das te quitan minutos preciados de tu tiempo.

Mostrar la ficha Programador en Excel 2010

Si quieres escribir una nueva macro o ejecutar una macro previamente


creada, entonces debes habilitar la ficha Programador dentro de la cinta
de opciones. Para mostrar esta ficha sigue los siguientes pasos.

Haz clic en la ficha Archivo y elige la seccin Opciones. Se mostrar el


cuadro de dilogo Opciones de Excel donde debers seleccionar la op-
cin Personalizar cinta de opciones.

Microsoft Excel 2010 201


Sesin 12 Macros

En el panel de la derecha debers asegurarte de seleccionar la ficha Pro-


gramador.

202 Microsoft Excel 2010


Macros Sesin 12

Acepta los cambios y la ficha se mostrar en la cinta de opciones.

Grupos de la ficha Programador


El grupo Cdigo tienes los comandos necesarios para iniciar el Editor de
Visual Basic donde se puede escribir directamente cdigo VBA. Tambin
nos permitir ver la lista de macros disponibles para poder ejecutarlas o
eliminarlas. Y no podramos olvidar mencionar que en este grupo se en-
cuentra el comando Grabar macro el cual nos permite crear una macro
sin necesidad de saber sobre programacin en VBA.

El grupo Complementos nos permite administrar y habilitar complemen-


tos como el Solver.

El grupo Controles incluye funcionalidad para agregar controles espe-


ciales a las hojas de Excel como los controles de formulario que son
botones, casillas de verificacin, botones de opcin entre otros ms que
sern de gran utilidad para ampliar la funcionalidad de Excel.

El grupo XML permite importar datos de un archivo XML as como op-


ciones tiles para codificar archivos XML. Finalmente el grupo Modificar
solamente contiene el comando Panel de documentos.

Aunque pueden parecer intimidantes los comandos de la ficha Progra-


mador con el paso del tiempo te irs familiarizando poco a poco con cada
uno de ellos.

La grabadora de macros en Excel 2010

Puedes crear una macro utilizando el lenguaje de programacin VBA,


pero el mtodo ms sencillo es utilizar la grabadora de macros que guar-
dar todos los pasos realizados para ejecutarlos posteriormente.

La grabadora de macros almacena cada accin que se realiza en Excel,


por eso es conveniente planear con antelacin los pasos a seguir de
manera que no se realicen acciones innecesarias mientras se realiza la
grabacin. Para utilizar la grabadora de macros debes ir a la ficha Pro-

Microsoft Excel 2010 203


Sesin 12 Macros

gramador y seleccionar el comando Grabar macro.

Al pulsar el botn se mostrar el cuadro de dilogo Grabar macro.

En el cuadro de texto Nombre de la macro debers colocar el nombre


que identificar de manera nica a la macro que estamos por crear. De
manera opcional puedes asignar un mtodo abreviado de teclado el cual
permitir ejecutar la macro con la combinacin de teclas especificadas.

La lista de opciones Guardar macro en permite seleccionar la ubicacin


donde se almacenar la macro.

Este libro. Guarda la macro en el libro actual.


Libro nuevo. La macro se guarda en un libro nuevo y que pueden ser
ejecutadas en cualquier libro creado durante la sesin actual de Excel.
Libro de macros personal. Esta opcin permite utilizar la macro en cual-
quier momento sin importar el libro de Excel que se est utilizando.

204 Microsoft Excel 2010


Macros Sesin 12

Tambin puedes colocar una Descripcin para la macro que vas a crear.

Finalmente debes pulsar el botn Aceptar para iniciar con la grabacin


de la macro. Al terminar de ejecutar las acciones planeadas debers pul-
sar el botn Detener grabacin para completar la macro.

Crear una macro


Vamos a crear una macro que siempre introduzca el nombre de tres
departamentos de una empresa y posteriormente aplique un formato
especial al texto. Para iniciar la grabacin debes ir al comando Grabar
macro que se encuentra en la ficha Programador lo cual mostrar el si-
guiente cuadro de dilogo.

Observa cmo he colocado un nombre a la macro y adems he especifi-


cado el mtodo abreviado CTRL+d para ejecutarla posteriormente. Una
vez que se pulsa el botn Aceptar se iniciar la grabacin. Observa con
detenimiento los pasos.

Microsoft Excel 2010 205


Sesin 12 Macros

Ingresaremos Finanzas con estilo negrita en una celda, Recursos Hu-


manos en otra en estilo cursiva e Informtica con estilo subrayado en
otra.
Al terminar los pasos se pulsa el comando Detener grabacin y la macro
habr quedado guardada. Para ejecutar la macro recin guardada selec-
cionar una nueva hoja de Excel y seleccionar el comando Macros.

Al pulsar el comando Macros se mostrar la lista de todas las macros


existentes y de las cuales podrs elegir la ms conveniente. Al hacer clic
sobre el comando Ejecutar se realizarn todas las acciones almacena-
das en la macro y obtendrs el resultado esperado. Por supuesto que si

206 Microsoft Excel 2010


Macros Sesin 12

utilizas el mtodo abreviado de teclado de la macro entonces se omitir


este ltimo cuadro de dilogo.

Programando en VBA

Excel 2010 es una de las herramientas de software ms poderosas para


el manejo, anlisis y presentacin de datos. Aun y con todas sus bonda-
des, en ocasiones Excel no llega a suplir algunas necesidades especficas
de los usuarios.

Afortunadamente Excel cuenta con VBA que es un lenguaje de progra-


macin que permite extender las habilidades del programa para cubrir
nuestros requerimientos. Utilizando VBA se pueden desarrollar nuevos
algoritmos para analizar la informacin o para integrar a Excel con algu-
na otra aplicacin como Microsoft Access.

Principios fundamentales

La programacin en VBA puede ser un tanto misteriosa para la mayora


de los usuarios de Excel, sin embargo una vez que se comprenden los
principios bsicos de programacin en VBA se comenzarn a crear solu-
ciones robustas y efectivas.

El primer concepto importante a entender es que cada elemento de Ex-


cel es representado en VBA como un objeto. Por ejemplo, existe el obje-
to Workbook que representa a un libro de Excel. Tambin existe el objeto
Sheet que representa una hoja y el objeto Chart para un grfico.

El segundo concepto importante a entender es que cada uno de estos


objetos tiene propiedades y mtodos. Para explicar mejor este concepto
utilizar una analoga.

Propiedades y Mtodos
Supongamos que tenemos el objeto auto. As es, un auto como el que
manejamos todos los das para ir al trabajo. Este auto tiene varias pro-
piedades como son: marca, modelo, color, tipo de transmisin las cuales
ayudan a describir mejor al auto. Tambin hay propiedades que indican
su estado actual como por ejemplo gasolina disponible, temperatura del
aceite, velocidad, kilmetros recorridos entre otras propiedades ms.
Podemos decir que las propiedades de un objeto nos ayudan a describir-
lo mejor en todo momento.

Por otro lado tenemos los mtodos de un objeto que en resumen son
las acciones que podemos realizar con dicho objeto. Por ejemplo, con

Microsoft Excel 2010 207


Sesin 12 Macros

nuestro auto podemos hacer lo siguiente: encenderlo, avanzar, vuelta a


la izquierda, vuelta a la derecha, reversa, detener, apagar, etc. Todas las
acciones que se pueden llevar a cabo con un objeto son conocidas como
mtodos.

Volviendo al terreno de Excel, el objeto Workbook tiene propiedades


como ActiveSheet (Hoja activa), Name (Nombre), ReadOnly (Solo Lec-
tura), Saved (Guardado) y algunos de sus mtodos son Save (Guardar),
Close (Cerrar), PrintOut (Imprimir), Protect (Proteger), Unprotect (Des-
proteger).

Ser dificil mencionar todos los objetos de Excel y sus propiedades en


esta publicacin, pero lo importante a recordar en este ocasin es que
cada elemento de Excel est siempre representado por un objeto en VBA
y cada objeto tiene a su vez propiedades y mtodos que nos permitirn
trabajar con nuestros datos.

El Editor de Visual Basic


El Editor de Visual Basic, VBE por sus siglas en ingls, es un programa
independiente a Excel pero fuertemente relacionado a l porque es el
programa que nos permite escribir cdigo VBA que estar asociado a las
macros.

Existen al menos dos alternativas para abrir este editor, la primera de


ellas es a travs del botn Visual Basic de la ficha Programador.

El segundo mtodo para abrir este programa es, en mi opinin, el ms


sencillo y rpido y que es a travs del atajo de teclado: ALT + F11.

El Editor de Visual Basic contiene varias ventanas y barras de herra-


mientas.

En la parte izquierda se muestra el Explorador de proyectos el cual


muestra el proyecto VBA creado para el libro actual y adems muestra
las hojas pertenecientes a ese libro de Excel. Si por alguna razn no
puedes visualizar este mdulo puedes habilitarlo en la opcin de men
Ver y seleccionando la opcin Explorador de proyectos.

208 Microsoft Excel 2010


Macros Sesin 12

El Explorador de proyectos tambin nos ayuda a crear o abrir mdulos


de cdigo que se sern de gran utilidad para reutilizar todas las funcio-
nes de cdigo VBA que vayamos escribiendo.

Dentro del Editor de Visual Basic puedes observar una ventana llamada
Inmediato que est en la parte inferior. Esta ventana es de mucha ayuda
al momento de escribir cdigo VBA porque permite introducir instruc-
ciones y observar el resultado inmediato. Adems, desde el cdigo VBA
podemos imprimir mensajes hacia la ventana Inmediato con el coman-
do Debug.Print de manera que podamos depurar nuestro cdigo. Si no
puedes observar esta ventana puedes mostrarla tambin desde el men
Ver.

El rea ms grande en blanco es donde escribiremos el cdigo VBA. Es


en esa ventana en donde escribimos y editamos las instrucciones VBA
que dan forma a nuestras macros.

Es importante familiarizarnos con el editor de Visual Basic antes de ini-


ciar con la creacin de macros.

Tu primera macro con VBA

Ahora que ya sabes lo que es el Editor de Visual Basic para Aplicacio-

Microsoft Excel 2010 209


Sesin 12 Macros

nes puedo mostrarte un ejemplo muy sencillo para crear una macro. Lo
primero que debes hacer es ir a la ficha Programador y hacer clic en el
botn Visual Basic.

Una vez dentro del Editor debes hacer clic derecho sobre el ttulo del
proyecto y dentro del men seleccionar la opcin Insertar y posterior-
mente Mdulo.

Se crear la seccin Mdulos y dentro de la misma se mostrar el m-


dulo recin creado. Puedes saber que el mdulo est abierto porque su
nombre se muestra en el ttulo entre corchetes.

Si el mdulo no est abierto solamente debers hacer doble clic sobre

210 Microsoft Excel 2010


Macros Sesin 12

l. Posicinate en el rea de cdigo e introduce las siguientes instruccio-


nes:

Antes de avanzar explicar con detalle las instrucciones mostradas.


Subrutinas

El primer concepto que explicare es la instruccin Sub que es la abrevia-


cin de la palabra subrutina. Una subrutina no es ms que un conjunto
de instrucciones que se ejecutarn una por una hasta llegar al final de la
subrutina que est especificado por la instruccin End Sub.

Las subrutinas nos ayudan a agrupar varias instrucciones de manera


que podamos organizar adecuadamente nuestro cdigo. Una subrutina
siempre tiene un nombre el cual debe ser especificado justo despus de
la instruccin Sub y seguido por parntesis.
La funcin MsgBox

La subrutina que acabamos de crear para este ejemplo solamente tiene


una instruccin dentro la cual hace uso de la funcin MsgBox. Esta fun-
cin nos ayuda a mostrar una ventana de mensaje de manera que po-
damos estar comunicados con el usuario sobre cualquier error o adver-
tencia que necesitamos darle a conocer. Para este ejemplo he utilizado la
forma ms sencilla de la funcin MsgBox la cual solamente tiene un solo
argumento que es precisamente el mensaje que necesitamos mostrar en
pantalla al usuario.

Ejecutar macro

Para probar nuestro cdigo bastar con pulsar el botn Ejecutar que se
encuentra dentro de la barra de herramientas.

Microsoft Excel 2010 211


Sesin 12 Macros

En cuanto se pulsa el botn se ejecutar el cdigo recin ingresado y


obtendremos el resultado en pantalla.

Listo, has creado tu primera macro la cual muestra una ventana de


mensajes y despliega el texto especificado en la funcin MsgBox. Para
guardar la macro recuerda que debes guardar el archivo como Libro de
Excel habilitado para macros, de lo contrario perders el cdigo del m-
dulo creado.

Establecer seguridad de macros

La seguridad es un tema importante al hablar de macros en Excel. Si


abres algn archivo que contenga una macro maliciosa puedes causar
algn tipo de dao al equipo. De manera predeterminada Excel no per-
mite ejecutar macros automticamente.

Sin embargo, si ests creando tus propias macros y deseas remover


esta proteccin porque sabes que no existe cdigo malicioso, entonces
puedes modificar la configuracin de seguridad de las macros.

Haz clic en la ficha Archivo y posteriormente en Opciones. Dentro del


cuadro de dilogo mostrado selecciona la opcin Centro de confianza.

212 Microsoft Excel 2010


Macros Sesin 12

Y posteriormente pulsa el botn Configuracin del centro de confianza.


Se mostrar el cuadro de dilogo Centro de confianza.

Dentro de la seccin Configuracin de macros selecciona alguna de las


opciones disponibles.

Deshabilitar todas las macros sin notificacin. Deshabilita las ma-


cros y permite ejecutar solamente aquellas que estn almacenadas en
un lugar confiable. Los lugares confiables se configuran en la seccin
Ubicaciones de confianza del mismo cuadro de dilogo.
Deshabilitar todas las macros con notificacin. Muestra una alerta
de seguridad advirtiendo sobre la intencin de ejecutar una macro de
manera que se pueda decidir si se desea ejecutar. Esta es la opcin pre-
determinada de Excel.
Deshabilitar todas las macros excepto las firmadas digitalmente.
Solamente se podrn ejecutar las macros que estn firmadas digital-
mente.
Habilitar todas las macros. Permite ejecutar todas las macros sin
enviar alguna notificacin al usuario. Esta opcin es til si se ejecutan
mltiples macros totalmente confiables. Esta opcin es la que corre los
mayores riesgos al ejecutar una macro de una fuente desconocida.
Una vez seleccionada la opcin deseada se debe pulsar el botn Aceptar
para hacer los cambios permanentes.

Microsoft Excel 2010 213


Sesin 12 Macros

Resumen

Una macro es un conjunto de comandos que se almacena en un lugar espe-


cial de Excel de manera que estn siempre disponibles cuando los necesites
ejecutar.

Mostrar la ficha Programador en Excel 2010

Haz clic en la ficha Archivo y elige la seccin Opciones. Se mostrar el cuadro


de dilogo Opciones de Excel donde debers seleccionar la opcin Personalizar
cinta de opciones.

En el panel de la derecha debers asegurarte de seleccionar la ficha Programa-


dor; luego acepta los cambios y la ficha se mostrar en la cinta de opciones.

La grabadora de macros en Excel 2010

La grabadora de macros almacena cada accin que se realiza en Excel,por eso


es conveniente planear con antelacin los pasos a seguir de manera que no se
realicen acciones innecesarias mientras se realiza la grabacin. Para utilizar la
grabadora de macros debes ir a la ficha Programador y seleccionar el comando
Grabar macro.

El Editor de Visual Basic

El Editor de Visual Basic, VBE por sus siglas en ingls, es un programa inde-
pendiente a Excel pero fuertemente relacionado a l porque es el programa
que nos permite escribir cdigo VBA que estar asociado a las macros.

Existen al menos dos alternativas para abrir este editor, la primera de ellas es
a travs del botn Visual Basic de la ficha Programador.

El segundo mtodo para abrir este programa es a travs del atajo de teclado:

214 Microsoft Excel 2010


Macros Sesin 12

ALT + F11.

Tu primera macro con VBA

Una vez dentro del Editor debes hacer clic derecho sobre el ttulo del proyecto
y dentro del men seleccionar la opcin Insertar y posteriormente Mdulo.

Se crear la seccin Mdulos y dentro de la misma se mostrar el mdulo


recin creado. Puedes saber que el mdulo est abierto porque su nombre se
muestra en el ttulo entre corchetes.

Posicinate en el rea de cdigo y digite las instrucciones que desee.

Microsoft Excel 2010 215