Lección 1. Configuración de Microsoft Excel para el uso de macros. Grabación de macros.

Lección 1. Configuración de Microsoft Excel para el uso de macros. Grabación de macros.

Bienvenido a este curso de programación en Visual Basic para Microsoft Excel.

Lo primero que quiero decirte es que no dudes en consultarme cualquier duda que te surja a lo largo del mismo e incluso proponerme ejercicios que te interesen que desarrolle. Soy todo oídos.

Al final de cada lección, encontrarás el archivo con todas las macros listo para usar, por si no quieres entretenerte en ir paso a paso.

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á!

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".

 

 

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 abrir 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. 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.

 


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.