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:
- 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.
- 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).
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!):
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.
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.
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 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:
Esta píldora formativa está extraída del Curso online de Excel 2010/2013 expertos.
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