CURSO EXCEL AVANZADO
MDULO MACROS
Profesor: Alejandro Gaete
Definicin: Una macro de Microsoft Excel se define como una serie de pasos repetitivos que se
guardan en un mdulo de Visual Basic para Aplicaciones (VBA) y que pueden ejecutarse cada vez que
el usuario lo desee en forma automtica. En otras palabras, una macro es un programa grabado o
creado con el lenguaje VBA.
La utilidad de las macros radica en que permiten automatizar tareas frecuentes y/o repetitivas, de tal
modo que, una vez creada la macro, es posible realizar dichas tareas simplemente ejecutndola(s).
En la prctica, una macro est formada por una serie de pasos, comandos y funciones que, como ya
dijimos, se almacenan en un mdulo de Visual Basic.
Las macros pueden ser creadas de dos maneras:
a) Utilizando la Grabadora de macros que proporciona Microsoft Excel:
En este caso, una macro se graba con un procedimiento similar al que se graba msica o video en un
equipo electrnico, de hecho existe una barra de herramientas que se despliega cada vez que se inicia la
grabacin de una macro, en la que se observan botones con la misma apariencia de los botones
tradicionales de los equipos de msica que permiten detener o reanudar la grabacin.
b) Escribiendo directamente las macros en el Editor de Visual Basic utilizando el lenguaje
Visual Basic para Aplicaciones.
Nota: a este respecto cabe sealar, que existen varios tipos de lenguaje Visual Basic, todos con la
misma estructura, lgica y sintaxis fundamental (independientemente de sus versiones). Es as como
existe el lenguaje Visual Basic propiamente tal, en sus diferentes versiones (4.0, 5.0, 6.0, etc.) y que
permite el desarrollo de sistemas sobre diferentes plataformas. Por otro lado, existe lo que se ha
llamado Visual Basic para Aplicaciones (VBA) que simplemente se refiere al lenguaje Visual Basic
disponible para programar en cada una de las aplicaciones de Microsoft, siendo los ms usuales los
Visual Basic para ACCESS, EXCEL, WORD, OUTLOOK, etc.
Esto representa una gran avance en las tpicas aplicaciones de oficina, puesto que unido a su gran
avance de potencia y versatilidad, ahora es posible desarrollar verdaderos Sistemas de Informacin
Empresarial que apoyan la gestin y la toma de decisiones, utilizando todas las capacidades de cada
uno de los productos de Microsoft Office; por ejemplo, obtener directamente de las grandes bases de
datos o sistemas contables de la empresa, la informacin que sea relevante envindola a bases de datos
ACCESS, analizar los datos con todas las funciones numricas y grficas de EXCEL y generar los
informes que corresponda automticamente en WORD, todo ello de manera totalmente transparente y
fcil para el usuario final.
Nota: Es importante destacar que antes de grabar o de escribir una macro debe planificar
cuidadosamente las tareas que efectuar, es decir, los comandos que desea que ejecute la macro. Si se
comete algn error mientras se graba la macro, estos tambin sern grabados as como las correcciones
que se realicen. Cada vez que se grabe una macro, sta se almacenar en un nuevo mdulo adjunto a un
libro.
Con el Editor de Visual Basic, se pueden escribir y/o modificar macros, copiar macros de un mdulo en
otro, copiar macros entre diferentes libros, cambiar de nombre a los mdulos que almacenan las macros
o cambiar de nombre a las macros.
Procedimiento para grabar una macro:
1      Clic a la pestaa Programador
2      A la izquierda de la cinta de opciones seleccione el botn Grabar macro
3      A continuacin aparecer una pequea ventana denominada Grabar macro, en ella debe
       indicar el nombre de la macro en el cuadro correspondiente. Adicionalmente existe la opcin de
       que asigne una letra que se utilizar como mtodo abreviado de ejecucin de la macro
       presionando al mismo tiempo la tecla Control (Ctrl) y la letra que se haya asignado.
       Finalmente tambin se da la opcin de grabar la macro en el libro actual, en un libro nuevo o
       en un libro de macros personal (usualmente utilizar la opcin del libro actual).
Nota: el nombre de la macro NO puede tener espacios en blanco, en el ejemplo se unieron las dos
palabras que forman el nombre de la macro con un guin bajo actualiza_mes.
4      Al dar clic al botn aceptar, comenzar la grabacin de la macro, por lo tanto todas las acciones
       que realice en lo sucesivo sern grabadas hasta que decida detener la grabacin. Observe que el
       botn Grabar macro ser reemplazado por el botn Detener macro (pequeo cuadrado azul)
Tambin si observa la parte inferior izquierda de la hoja de Excel ver el mismo pequeo botn para
detener la macro
NOTAS:
    1. El primer carcter del nombre de la macro debe ser una letra. Los dems caracteres pueden ser
       letras, nmeros o caracteres de subrayado. No se permiten espacios en un nombre de macro;
       puede utilizarse un guin bajo como separador de palabras.
    2. Para ejecutar la macro presionando un mtodo abreviado, escriba una letra en el cuadro
       correspondiente. Letra se refiere a cualquier tecla del teclado. La tecla de mtodo abreviado
       que se utilice no puede ser ni un nmero ni un carcter especial. La tecla de mtodo abreviado
       suplantar a cualquier tecla de mtodo abreviado predeterminada en Microsoft Excel mientras
       est abierto el libro que contiene la macro, por lo tanto utilice este mtodo cuando est
       completamente seguro de no asignar una combinacin de teclas que desactive alguno de los
       atajos de teclado ms usados y tiles en Excel (por ejemplo Ctrl + C para copiar, Ctrl + V para
       pegar, etc.)
    3. Para incluir una descripcin de la macro, escriba la descripcin en el cuadro Descripcin.
    4. Si se seleccionan celdas mientras se est grabando una macro, cuando sta se ejecute SIEMPRE
       seleccionar las mismas celdas, independientemente de dnde se encuentre la celda activa antes
       de ejecutarla; esto sucede porque que se graban referencias absolutas de celda en el proceso de
       grabacin. Si desea tener una macro para seleccionar celdas desde la posicin que tenga la celda
       activa cuando se ejecute la macro, configure el grabador de macros para que grabe referencias
       relativas de celda (antes de dar clic al botn Grabar macro, debe seleccionar el botn Usar
       referencias relativas); Microsoft Excel continuar grabando macros con referencias relativas
       hasta que termine la sesin con Microsoft Excel o hasta que haga clic otra vez en el botn
       mencionado para desactivarlo.
Ejecutar una macro
Una vez grabada, una macro puede ejecutarse en Microsoft Excel o en el Editor de Visual Basic.
Normalmente, se ejecutar la macro en Microsoft Excel; sin embargo, tambin puede ejecutarse desde
el Editor de Visual Basic, mientras se realiza la macro.
Para interrumpir la macro antes de que finalice las acciones que se han grabado, presione la tecla
escape (Esc).
Primera forma de ejecutar una macro
1     Abra el libro que contiene la macro.
2     Clic a la ficha Programador
3     Seleccione el botn Macros
4     A continuacin aparecer una ventana denominada Macro, en la que se muestran todas las
      macros que existan en ese libro (con el nombre que previamente se les asign), as como una
      serie de botones que permiten Ejecutar, Modificar, Eliminar, etc.. Seleccione la macro
      deseada (se pondr de color azul) y luego de un clic al botn Ejecutar
Segunda Forma de ejecutar una macro
Ejecutar una macro utilizando atajo de teclado
   1       Abra el libro que contiene la macro.
   2       Presione la combinacin de teclas Alt + F8
   3       Contine con el procedimiento indicado en el punto 4 anterior.
Tercera Forma de ejecutar una macro
Ejecutar una macro desde un botn o un control grfico
Puede asignar una macro a un botn, a un objeto de dibujo o a un control grfico en la hoja de clculo,
para ello basta con insertar el objeto en la hoja (pestaa insertar), luego dar clic con el botn derecho
del mouse sobre l y en la lista que se desplegar elegir la opcin Asignar macro; posteriormente en
la ventana que aparecer seleccionar la macro deseada y dar clic al botn aceptar.
Se inserta el objeto y se le asigna un texto lgico en relacin a la macro que se ejecutar
Luego se da clic derecho sobre el objeto insertado y se elige la opcin Asignar macro
A continuacin se selecciona la macro deseada y se da clic al botn aceptar
Una vez realizado lo anterior, bastar con dar un clic a cualquier celda de la hoja (para que el objeto se
desmarque), luego acercar el puntero del mouse a la imagen creada (al tocarla el puntero cambiar de
forma a una mano) y dar clic a la misma, en este punto se ejecutar la macro asignada.
Cuarta Forma de ejecutar una macro
Ejecutar una macro desde un mdulo de Visual Basic
1      Abra el libro que contiene la macro
2      Clic a la ficha Programador
3      Seleccione el botn Visual Basic
4      A continuacin aparecer el Editor de Visual Basic en el que se mostrarn todos los mdulos
       de macros creados y el detalle de cada una de las macros expresado en lenguaje Visual Basic.
       Para ms detalle vea el tema correspondiente al Editor de Visual Basic que se presenta en un
       mdulo posterior ms adelante.
Nota: una manera de accesar de inmediato el editor de Visual Basic es con la combinacin de teclas
Alt + F11, para regresar a la planilla Excel use la combinacin de teclas Alt + Q o simplemente
Archivo y luego Salir
El editor de Visual Basic tiene el aspecto que se muestra en la siguiente imagen
Se selecciona el mdulo correspondiente (doble clic) y luego se despliega el contenido de la macro
Creacin de botones y/o controles en hojas de Microsoft Excel
Uno de los mayores usos que se les da a las macros es asignarlas a botones, de tal modo que al usuario
le bastar dar un clic al botn correspondiente para que se ejecute la accin a la que hace referencia
dicho botn, por lo tanto es necesario saber como crear un botn y asignarle la macro correspondiente:
   1.   Abra la hoja de clculo a la que desee agregar los botones.
   2.   Seleccione la pestaa Programador
   3.   Clic al botn Insertar
   4.   En la pequea ventana que se despliega seleccione alguno de los botones que aparecen en la
        seccin Controles de formulario, NO utilice los botones de la seccin Controles ActiveX.
        En el ejemplo se selecciona el botn llamado Botn, por ser el de ms fcil uso.
   5. Una vez que se ha elegido el botn de control que desee insertar en la planilla, observar que el
      puntero del mouse se transformar en una especie de cruz al desplazarlo por la planilla; por
      tanto para crear el botn debe ubicar el puntero en la zona de la hoja que desee y luego
      presionar el botn del mouse sin soltarlo, luego arrastrar y dar forma al botn, cuando tenga la
      forma y tamao deseado suelte el botn del mouse (se trabaja del mismo modo que al manipular
      cualquier objeto o imagen de Excel, tal como los grficos, por lo tanto no nos extenderemos en
      detalles, tal como variar el tamao del botn creado, moverlo, etc.)
   6. Al soltar el botn del mouse, aparecer una ventana en la que se muestran las macros existentes
      con el objeto de que usted asigne la que desee, si desea asignarla posteriormente simplemente
      d un clic al botn Cancelar
   7. Para cambiar el nombre del botn y asignarle uno que tenga que ver con la accin que realizar,
      basta con colocar el puntero del mouse sobre el botn y dar un clic, con lo cual el cursor
      aparecer dentro del botn pudiendo, por tanto, modificar el texto. Finalmente, bastar con
      dar un clic a cualquier celda de la hoja para que el cambio quede efectuado.
   8. Al igual que en el tema de los grficos, si se da un clic con el botn derecho del mouse sobre el
      botn creado, aparecer una lista de opciones para manipular su formato (fuente, alineacin,
      tamao, proteger, etc.), asignar macro, cortar, copiar, pegar, etc.
Si la macro no existe, puede grabarse o escribirse una nueva.
El aspecto de la ficha Programador y dos botones creados en la planilla se puede apreciar en el
siguiente ejemplo:
Se observa que se han creado los botones Crear Informe Clientes y un ComboBox que permite elegir
el perodo del mismo.
Modificar o eliminar una macro
Antes de modificar una macro, deber familiarizarse con el Editor de Visual Basic. Puede utilizarse el
Editor de Visual Basic para escribir y modificar las macros adjuntas a los libros de Microsoft Excel.
   1      Abra el libro que contiene la macro.
   2      Presione la combinacin de teclas Alt + F8
   3      En la ventana que se desplegar seleccione la macro que desea modificar, eliminar, etc. y de
          un clic al botn respectivo.
Tambin puede realizar un procedimiento similar, seleccionando la ficha Programador y luego el
botn Macros en la cinta de opciones respectiva.