Macros relativas y absolutas

Cuando hablamos de macros, tenemos dos tipos de macros.
Las macros relativas y las macros absolutas.
Al guardar una macro absoluta, siempre se ejecutará en la misma posición en la hoja de cálculo. Esta es la forma estándar en la que funciona Excel.
Al guardar una macro relativa, se ejecutará en el lugar donde está el cursor en ese momento en la hoja de cálculo.

Para crear una macro absoluta haz clic en “Iniciar / Detener Grabación” (1), situado en la parte inferior izquierda, en la barra de “Estado” en Excel 2007 y 2010.

En las versiones 2003 y anteriores, puedes comenzar a grabar la macro una vez que la barra de herramientas de macros (2) este abierta.

Para detener la grabación, haz clic en el botón “Iniciar / Detener Grabación” (1) en Excel 2007 y 2010. Y en Excel 2003 y versiones anteriores, haz clic en el botón “Detener grabación” (A) en la barra de herramientas.

Para grabar una macro relativa, en Excel 2007 y 2010 haz clic en “Usar referencias relativas” (3) en la cinta.

Para grabar una macro relativa en Excel 2003 y anteriores, haz clic en el segundo botón (b) en la barra de herramientas.

les05_image001_es

A modo de ejemplo, tengo dos macros idénticas para ejecutar, una como absoluta y la otra como relativa.

Voy a empezar con la absoluta, por lo que nada más haré clic en el botón “Iniciar Grabación”.
¿Sabes dónde encontrar esto?
Cuando haces clic, se abre el cuadro de diálogo “macro”. Este es el mismo para todas las versiones.
En el cuadro de arriba, dale a la macro un nombre. El nombre de una macro sólo puede contener letras y números. No puede contener espacios en blanco.
En el cuadro siguiente, se te dará un acceso directo para ejecutar la macro. Esto no es necesario, pero creo que de esta manera es más fácil, ya que no siempre voy a querer abrir la ventana de las macros y hacer clic en el botón “Ejecutar”.
Ten en cuenta que un acceso directo no debería existir en Excel, como Ctrl + C, de lo contrario será sobreescrito. La forma más segura es que al escribir un atajo de teclado, mantengas presionada la tecla Shift en el teclado. De esta manera el acceso directo siempre será con la tecla Shift.
En el siguiente cuadro se te dará una descripción de la macro. Esto es muy útil y facilita las cosas en consultas posteriores.
Haz clic en el botón Aceptar.
Tan pronto hagas clic en cualquier cosa en la aplicación actual o tan pronto escribas algo en el teclado, se grabará en la macro. Deten la grabación de la macro cuando hayas terminado.

A modo de ejemplo, escribe lunes en la primera celda, luego haz clic y arrastra el controlador de relleno para completar el resto de los días.

les05_image002_es
Haré lo mismo para la macro relativa.
Esta vez solamente haré clic en la opción “Usar referencias relativas” en la cinta o la barra de herramientas de las macros.
Ya en la “Macro”, lo primero que hago es darle un nombre, luego introduzco la combinación de las teclas Ctrl + Shift + I, y por último añado una descripción.
Haz clic en Aceptar cuando hayas terminado.

Aquí hacemos lo mismo que antes, escribe lunes en la primera celda y luego haz clic y arrastra el controlador de relleno para completar el resto de los días. Detiene la grabación de la macro cuando hayas terminado.

les05_image004_es
Cuando abrimos la ventana de las “macros” (clic en el botón Macros en la cinta, o en el menú desplegable cuando se trabaja con Excel 2003 o anterior), veremos que dos macros aparecen en la ventana.
Haz clic en el botón “Editar” …

les05_image003_es
… y la ventana “Microsoft Visual Basic para Aplicaciones” (VBA, para abreviar) se abrirá.
El acceso directo para abrir o cerrar la ventana VBA es Alt + F11.

les05_image005_es
¿Qué vemos en esta ventana?
En el centro de la ventana VBA vemos el código VBA donde las dos macros recién grabadas se muestran.

El texto en verde es un comentario. Los comentarios comienzan por el carácter (“).
Aquí puedes hacer lo que quieras, esto no cambiará nada en la macro. Por ejemplo, aquí puedes cambiar el acceso directo (1), esto no tendrá ningún impacto en la macro o el acceso directo en el cual debes hacer clic para ejecutarlo.

Todo el código de VBA se muestra en negro.
Si cambias algo aquí, esto si cambiará la macro.
Por ejemplo, si en el código cambias el texto “Lunes” (2) a “Swotster”, el texto de cada celda con los días de la semana será reemplazado por “Swotster”, cuando se ejecute la macro.

Cuando veas el código de las dos macros, verás que hay poca diferencia entre los dos. La única diferencia es donde el código determina el alcance de la macro.
Veremos más sobre código VBA en las siguientes lecciones.

Increíble! Has completado Lección 5 INICIAR EL PROXIMO LECCIÓN