Knowledge center Ofimática MS Office 2010/2013

Grabación de una macro en Excel

Autor: Luis Angel Gil Gambarte

Para comprender mejor y de forma práctica como se graba una macro, realizaremos su estudio mediante un primer ejemplo muy sencillo

Supongamos que queremos crear una macro, que cuando se ejecute nos inserte en la celda actual de la hoja activa, la fecha de hoy y además le aplique un formato centrado fuente Arial black tamaño 10 y color azul con borde grueso.

Inicialmente, los pasos a seguir para la creación de la macro son:

  1. Situar el cursor en cualquier celda vacía de una hoja.
     
  2. Dentro de la ficha de Programador, contamos con el grupo de opciones Código que recoge todos los comandos necesarios para la gestión de macros:

  1. Para comenzar la grabación de la macro, pulsamos sobre la opción Grabar macro  .
    De esta forma hacemos aparecer el cuadro de diálogo Grabar macro:

  1. En este cuadro de diálogo establecemos los principales características de la macro que vamos a grabar:
  • Nombre de la macro. Escribimos el nombre que queremos asignar a esta macro, en nuestro caso INSERTARFECHA.
  • Método abreviado. Podemos también indicar la posibilidad de ejecutar esta macro, cuando esté ya grabada, mediante una secuencia de teclas, en este caso Ctrl + Mayús + F -por aquello de asociar la letra F con el concepto de fecha-.
  • Guardar macro en. Tenemos la posibilidad de guardar esta macro sólo en este libro, en todos los libros nuevos que se creen a partir de ahora o bien en un libro de macros personal. El libro de macros personal es en una biblioteca personal que se crea en forma de archivo llamado personal.xlsb y almacena allí el módulo -la secuencia de instrucciones en código VB- de esta macro. En el siguiente apartado se describe con detalle el libro de macros personal:

  • Descripción. Podemos escribir como descripción, brevemente en qué consiste la macro que vamos a grabar.

En nuestro ejemplo, el cuadro de diálogo Grabar macro, quedaría del siguiente modo.

  1. Completado el cuadro, pulsamos el botón Aceptar, en ese momento comienza la grabación de la macro. Existen y aparecen en pantalla dos elementos visuales que nos informan de que la grabación está en curso:
  • En el grupo de opciones Código de la ficha de Programador, aparece ahora disponible el botón Detener grabación, que sustituye al anterior, Grabar macro.

  • En la Barra de estado también aparece -abajo a la izquierda- el icono correspondiente a la opción Detener grabación, (de la misma manera que siempre y de forma permanente -en versiones de Excel a partir de la 2007- aparece en este lugar el botón que permite iniciar una grabación de macro).

  1. A continuación realizaremos paso a paso, todas las acciones que recoge la macro.

Primero ANALIZAR, luego ENSAYAR y finalmente GRABAR

Cualquier acción equivocada que se realice a partir de este momento quedará registrada como parte de nuestra macro. De ahí que un correcto ensayo antes de grabar la macro sea interesante y fundamental. Esto nos evitará abortar el proceso de grabación deteniéndola y teniendo que volver a comenzar la grabación desde el principio.
Otra opción para usuarios expertos en estas lides, sería continuar con el progreso de grabación de la macro, conocido el error cometido, y posteriormente realizar la corrección pertinente en el código Visual Basic generado -lo cual, sin duda, es más tedioso y complicado para nosotros-.

... Comenzamos (¡con sumo cuidado!):

  • Escribir la función que presenta la fecha de hoy en una celda: =HOY().
  • Al pulsar Enter, el cursor pasa a la celda de debajo, con lo que tenemos que retroceder a la celda en la que se ha insertado la fecha. Pulsamos por lo tanto flecha arriba é, o bien la seleccionamos mediante el ratón -este movimiento también quedará grabado como parte de nuestra macro-.
  • Fuente Arial Black.
  • Tamaño de fuente 10.
  • Justificación centrada.
  • Color de fuente azul.
  • Borde contorno grueso.

Finalizadas todas las operaciones que componen la macro, debemos indicar que hemos finalizado la grabación, para ello pulsar el botón Detener grabación de la ficha de Programador, o bien el que aparece en la Barra de estado.

Con estos sencillos pasos hemos conseguido grabar una macro, generando su correspondiente código de programación Visual Basic.

Al comenzar la grabación de una macro, observamos que el puntero del ratón no cambia su forma, y que podemos utilizarlo para movernos por la hoja y realizar selecciones con total libertad. De esta manera se resuelve una de las limitaciones que presentaban versiones anteriores del programa, en las que se recomendaba el uso del teclado para la grabación de las macros.
Grabación de una macro sencilla

Posicionamientos absolutos y relativos

Cuando ejecutemos la macro que se acaba de grabar, veremos que el resultado obtenido al ejecutar esta macro, es la inserción de la fecha en la celda en la que tengamos ubicado el cursor en el momento de iniciar la grabación de la macro, pero como a lo largo de la grabación de la macro, hemos situado el cursor en una determinada celda -recordemos que al pulsar Enter, el cursor se desplazó hacia abajo una posición y tuvimos que subir de nuevo con flecha arriba é, se aplica el formato indicado, pero en la misma dirección de celda en la que estaba el cursor situado cuando la macro se creó (en la posición que tenía el cursor cuando se grabó la macro), y no en la celda activa para cada ocasión en la que se ejecute la macro, lo cual sería nuestro objetivo.

Esto se debe a que la posición que tenía el cursor cuando se grabó la macro, ha sido tomada como posición absoluta con lo que al ejecutar la macro, las acciones las aplica sobre esa celda, no sobre la que estamos posicionados cada  vez que ejecutamos la macro.

En un próximo apartado estudiaremos la forma de solucionar este problema para que cuando se grabe la macro, las referencias a celda sean consideradas no de forma absoluta a celda sino de manera relativa a posiciones dentro de la hoja.

El libro de macros personal

En Excel, siempre que tenemos abierto un libro de trabajo y hayamos guardado con antelación en nuestro Excel una macro en el libro de macros personal, tenemos "a la sombra" abierto también, un libro de cálculo llamado PERSONAL.XLSB, solo que éste se encuentra oculto. Si acudimos a la ficha Vista y desde el grupo Ventana podemos elegir el botón Mostrar para visualizar dicho archivo y posteriormente el botón Ocultar para que no se visualice pese a estar abierto:

Este archivo se llama libro de macros personal y se utiliza como alojamiento global de macros para todas las macros que, fueran guardadas desde el libro que fueran guardadas, se decidieron albergar en el libro de macros personal en vez de, por ejemplo, el mismo libro -que, por otro lado, suele ser la opción más habitual-. Sin embargo, utilizando el libro de macros personal, dado que a este archivo tenemos acceso desde cualquier libro de cálculo -recordemos que se encuentra siempre en segundo plano detrás de todo libro Excel-, podremos ejecutar una determinada macro desde cualquier otro libro. Se trata de un libro compartido a modo de contenedor de macros para que desde cualquier libro podamos acceder a dichas macros sin necesidad de haber sido grabadas en cada libro individualmente. Para trabajo en entornos de red es una opción muy interesante.

La ubicación física en disco de este archivo de macros personal (trabajando con Windows 7, 8.1 y 10) es:

C:\Usuarios\Usuario_de_sesión_Windows (por ejemplo Luis)\AppData\Roaming\Microsoft\Excel\XLSTART

En la versión 2007 y bajo Windows XP...
La ruta de disco donde se encontraba en:
C:\Documents and Settings\Usuario_de_sesión_Windows\Datos de programa\Microsoft\Excel\XLSTART

En el caso expuesto en esta imagen la sesión de Windows ha sido iniciada como usuario Administrador.

Si el libro actual de trabajo no tiene macros grabadas, el libro PERSONAL.XLSB sigue estando abierto pero sin dichas macros.

Si el libro actual tiene alguna macro grabada en el libro de macros personales podremos acceder a ellas de cara a ejecutarlas o bien desde:

A) El propio libro actual abierto. Observar que desde el panel inferior de Macros en, bajo la categoría Todos los libros abiertos nos la presenta, ya que, aunque oculto, el libro PERSONAL.XLSB, se encuentra abierto. La nomenclatura es PERSONAL.XLSB!nombre_de_la_macro:

Esto significa que la macro llamada EJEMPLO está guardada en el libro PERSONAL.XLSB.

B) El libro de macros personal, es decir, abriendo directamente el archivo PERSONAL.XLSB:

Si el libro de macros personal se visualiza y se cierra explícitamente por parte del usuario, no podrá ser grabada desde un libro de trabajo una macro en el libro de macros personal. Éste tiene que encontrarse necesariamente abierto, ya sea de forma visible o bien oculto. De no ser así, el mensaje que se presenta por pantalla es el siguiente:

El libro de macros personal
 

Esta píldora formativa está extraída del Curso online de Excel 2010/2013 expertos.

¿Te gusta el contenido de esta píldora de conocimiento?

No pierdas tu oportunidad y ¡continúa aprendiendo!

Política de privacidad

ADR Formación utiliza cookies propias y de terceros para fines analíticos anónimos, guardar las preferencias que selecciones y para el funcionamiento general de la página.

Puedes aceptar todas las cookies pulsando el botón "Aceptar" o configurarlas o rechazar su uso pulsando el botón "Configurar".

Puedes obtener más información y volver a configurar tus preferencias en cualquier momento en la Política de cookies