¿Cuál es la necesidad de las macros en Excel?

¿Cuál es la necesidad?

En multitud de ocasiones, trabajando con un libro Excel realizamos acciones u operaciones con nuestros datos de forma repetitiva, rutinaria, siempre las mismas o casi las mismas, y de la misma manera?

Seleccionar cierto rango de celdas, aplicar formato, copiar, seleccionar celda de destino, pegar, acudir a una herramienta en una ficha, aplicarla sobre estos datos...

Estas acciones de trabajo que se repiten, y que pueden ser pocas y/o sencillas, o muchas y/o complicadas...

Sería interesante saber detectarlas...

Reflexión

? Si pudiéramos grabar o registrar de alguna manera esos pasos o acciones que se nos repiten todos los días de forma tediosa y rutinaria, e incluso luego poder asociar su ejecución automática a un clic de ratón, sobre:

  • Un botón personalizado en la barra de herramientas de acceso rápido de Excel (por ejemplo).
  • O bien en una ficha personalizada en la propia cinta de opciones de Excel.
  • O bien desde un botón de formulario insertado en el propio libro de trabajo,
  • O bien mediante una combinación de teclas por ejemplo, de la forma Ctrl+May+L,

... Estaríamos optimizando eficazmente nuestro tiempo y nuestro trabajo cada vez que deseáramos llevar a cabo esas mismas acciones a lo largo de nuestro quehacer diario.

Observar en la siguiente imagen dos formas de acceder mediante clic a la ejecución de una macro:

Observar en la cinta de opciones, que bajo la
ficha Programador, tenemos los botones para macros

Definición

Una Macro, es un objeto dentro de un libro Excel, que contiene una serie (secuencia o ristra) de comandos (acciones), entendibles (interpretables) por Excel, e identificado (el objeto, la macro), con un nombre. Ese nombre, es el nombre de la macro.

Todas las macros deberán por lo tanto:

  1. Tener un nombre.
  2. Contener un conjunto de acciones a llevar a cabo, en su interior.

Las macros tienen un nombre y contienen acciones

Nombre de la macro: MACRO1

Acciones:        Hacer esto + hacer esto otro + hacer esto otro + esta acción final.

Aparece en escena el Visual Basic

Técnicamente, e internamente para Excel, el conjunto de acciones que contiene una macro, deben estar escritas en un lenguaje de programación de macros llamado Visual Basic para aplicaciones (VBA). Esto será lo que Excel reproduzca fielmente a la hora de ejecutar la macro: ejecutar ese código, ese "pequeño" programa.

Aparece por lo tanto y para nosotros el primer gran escollo... Nosotros no sabemos programar, no somos programadores y no conocemos este lenguaje de programación...

Sustancialmente, existen dos formas de crear una macro:

Escribiendo código en Visual Basic

La primera forma de crear una macro, es entrando en un editor de macros que tiene Excel, de modo que el usuario deberá, en una pantalla de edición, teclear el código en VB conociendo las pautas de este lenguaje, la sintaxis de cada una de sus instrucciones así como su aplicación a cada una de las acciones que se deseen automatizar: Crear un pequeño programa, en suma.
Para confeccionar macros de esta manera, Excel dispone de un entorno de edición de macros.
Una forma rápida de acceder a este entorno de grabación, es mediante la combinación de teclas Alt+F11.

Esta es la pantalla del editor de macros (el taller donde se ve y escribe el código):

Grabando la macro

Cuando un cantante tiene una canción y desea que, sin cantarla una y otra vez cada momento en el que se desee escuchar esa misma canción, solo con pulsar el botón de "Play" se reproduzca fielmente una y otra vez, lo que tiene que hacer es aprenderse bien la melodía, memorizar la letra, ensayar y ensayar y finalmente todo esté realmente controlado, realizar un acto en un estudio de grabación llamado "grabación de la canción".

Pues bien, en Excel, las macros pueden ser grabadas en una sesión de grabación de macro.

Tras, primero analizar lo que realmente se desea que haga la macro, pasaremos a...

Planificar los pasos o acciones a registrar en la macro. Personalmente recomiendo censarlos, escribirlos como si fueran "la partitura".

Pasar a la acción de grabar. Grabar, desde un "silencio, se graba" ... hasta un ... "fin de la grabación".

Todo lo que desde Excel se realice entre esos dos momentos (inicio-fin), todas las acciones de manejo de programa que se efectúen, quedarán grabadas en la macro generándose de forma automática un código o "pequeño programa" en un lenguaje denominado VBA (Visual Basic for Aplications).

Ese pequeño grupo de instrucciones en este lenguaje de programación, conforman lo que se ha dado en llamar, la macro.

Para confeccionar macros de esta manera, Excel dispone de una práctica grabadora de macros (como si fuera el estudio de grabación).El botón que permite grabar macros se  encuentra en la ficha Programador:

¡No tengo la ficha programador! Activar la ficha Programador

En caso de no disponer en la cinta de opciones de Excel de la ficha Programador (en otras versiones llamada Desarrollador), deberemos activarla desde Menú de Archivo de Excel - Opciones - Personalizar cinta de opciones, y en el cuadrante derecho de Pestañas principales de la pantalla marcar Programador desde su casilla.

¡OJO! En versiones anteriores de Excel, la ficha (o pestaña) Programador, se llamaba Desarrollador. Pero es lo mismo.

Ver la siguiente imagen:

Existe numerosa bibliografía acerca de como programar macros en VB para Excel en forma de cursos en formato .pdf, mini-cursos, cursos completos...
De lo que no existen reseñas importantes es de cómo confeccionar macros utilizando la grabadora de macros de Excel. Un usuario/a no ducho en las artes de la programación vería muy costoso aprender pautas de programación estructurada así como un lenguaje de programación (el VB en este caso).

Sin embargo, siendo usuario/a avanzado de Excel, con las pautas que a continuación vamos a desarrollar mediante ejemplos, podremos confeccionar nuestras propias macros para automatizar nuestros procesos reiterativos del día a día...