Lección 1: Configurar Microsoft Excel® para el uso de macros. Grabar macros.

En esta primera lección, vas a aprender a configurar Microsoft Excel para poder trabajar con macros, a cómo manejarte por su menú e incluso a grabar tu primera macro!! Lo voy a explicar todo pasito a pasito para que no te pierdas por el camino. Vamos allá!

Si ya lo has configurado previamente, te invito a pasarte por la segunda lección, donde aprenderás a crear, editar y asignar botones a macros.

En primer lugar, vamos a configurar Excel para poder trabajar con macros. Para ello, vete a la pestaña Archivo > Opciones. En la siguiente pantalla, selecciona Centro de Confianza > Configuración del Centro de confianza.

En el menú de la izquierda elige Configuración de macros y en el de la derecha marca la opción Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso).

Esta advertencia hace referencia a la posibilidad de que archivos con macros descargados de Internet puedan incluir código malicioso (virus o troyanos) que se ejecuten al lanzar la macro. Por eso es importante saber programar tus propias macros y no tener que recurrir a archivos de dudosa procedencia.

Ya tienes habilitado el uso de macros. Vamos a por el siguiente ajuste para poder trabajar con ellas!

Dentro del menú Opciones > Personalizar cinta de opciones, marcamos la Ficha principal Programador.

Pulsa Aceptar, y vemos como junto a las pestañas principales de Excel (Inicio, insertar, diseño de pagina, fórmulas, datos, revisar y vista), se ha añadido la pestaña de Programador.

Con esto ya has aprendido a configurar Excel para trabajar con macros. ¡Ya tienes Microsoft Excel listo para comenzar a programar!

Si te dijera que vas a programar tu primera macro hoy mismo, me dirías que estoy loco, pero no lo estoy (al menos no del todo). Existe una opción en Excel que te permite crear macros sin saber absolutamente nada de lenguaje de programación. Vamos a conocerla!

En la pestaña Programador busca la opción Grabar macro y pulsa sobre ella. Llama a la macro “Leccion1” y pulsa Aceptar.

Desde este momento, Excel comienza a grabar todos los cambios que se producen en la hoja de cálculo y los traduce automáticamente a lenguaje de programación VBA.

Hagamos una prueba!

Si has hecho todo lo anterior, ahora mismo estamos grabando en riguroso directo. Pulsa sobre la celda A1 y rellena la hoja Excel tal y como se muestra a continuación.

Una vez rellena, pulsa Detener grabación.

Ahora, dentro de la pestaña Programador, busca el botón Macros y pulsa sobre él:

Se abrirá una ventana como esta:

En esta ventana aparecen todas las macros de los libros que tengas abiertos. Si solo quieres que te aparezcan las del libro activo, selecciona en el desplegable inferior la opción “Este libro”.

Selecciona la macro “Leccion1” y elige Modificar. Automáticamente se abrirá el editor de Visual Basic y te mostrará el código de la macro que acabas de grabar. También puedes acceder a este editor utilizando el atajo ALT+F11.

Ya te enseñaré más adelante cómo manejarte en este editor, que será tu habitual pantalla de trabajo para programar macros. Ahora mismo lo que me interesa es que le eches un vistazo al código.

Sub Leccion1()

‘ Leccion1 Macro

Range(“A1”).Select

ActiveCell.FormulaR1C1 = “a”

Range(“A2”).Select

ActiveCell.FormulaR1C1 = “b”

Range(“A3”).Select

ActiveCell.FormulaR1C1 = “c”

Range(“A4”).Select

ActiveCell.FormulaR1C1 = “d”

Range(“A5”).Select

ActiveCell.FormulaR1C1 = “e”

Range(“A6”).Select

ActiveCell.FormulaR1C1 = “f”

Range(“A7”).Select

ActiveCell.FormulaR1C1 = “g”

Range(“A8”).Select

ActiveCell.FormulaR1C1 = “h”

Range(“A9”).Select

End Sub

Como ves, todas las macros comienzan de la misma manera:

Sub Nombredelamacro()

y finalizan con el comando

End sub

Las comillas () se utilizan para añadir comentarios entre comandos. Imagínate una macro de 10 hojas sin comentarios que quisieras modificar, tendrías que perder un buen rato en encontrar el trozo de código que estás buscando. Esto no puede ser, las macros tienen que tener bien diferenciadas sus partes y esto se consigue añadiendo comentarios que describan la funcionalidad de cada una de ellas.

El comando ActiveCell.FormulaR1C1 se utiliza para colocar un valor determinado en la celda activa.

La primera línea de la macro selecciona la celda A1 (primera fila, primera columna).

Range(“A1”).Select

La segunda línea de la macro coloca el valor “a” en la celda seleccionada. En este caso la A1 (primera fila, primera columna).

ActiveCell.FormulaR1C1 = “a”

A continuación, en la siguiente línea se selecciona la celda A2 (segunda fila, primera columna)

Range(“A2”).Select

Seguidamente, se asigna el valor “b” a la celda activa, que es la A2.

ActiveCell.FormulaR1C1 = “b”

Y así sucesivamente hasta finalizar la macro.

Bueno, ya has creado tu primera macro sin tener ni idea de Visual Basic. Fácil ¿no?

Aunque en algún momento puntual te pueda ser de utilidad (sobre todo si no sabes qué comando se utiliza para hacer alguna operación) si sabes programar bien no la utilizarás nunca. ¿Por qué? La respuesta es fácil, es una herramienta con bastantes limitaciones. Es útil únicamente para realizar operaciones automáticas fijas, es decir, siempre lo mismo, las mismas celdas, las mismas operaciones…no está dotada de inteligencia ni de dinamismo que es lo que realmente buscamos con una macro, que la automatización se adapte a circunstancias que varían.

Para guardar el archivo, selecciona Archivo > Guardar y elige guardar como Libro de Excel habilitado para macros.

Y hasta aquí el primer round. Has aprendido a configurar y grabar macros en Microsoft Excel®. Espero que te haya gustado y que te plantees hacer el curso completo para ser capaz de programar por ti mismo sin limitaciones cualquier macro que se te pase por la cabeza. Nos vemos en el próximo capítulo.