Qué es una macro de Excel: Cómo crear macros de Excel desde cero

 

Considera esto como una introducción al arte de crear macros de Excel. Si lo que quieres es sumergirte directamente en cómo usar la grabadora para crear macros entonces haz clic AQUÍ

 

Para iniciarte en el mundo  de las macros de Excel debes conocer lo siguiente:

 

 

Como profesor de Excel desde hace 7 años y como programador desde hace 27 años, voy a brindarte información valiosa si quieres aprender a crear macros de Excel e iniciarte en el mundo de la programación de macros de Excel con VBA.

 

 

¿Qué es una macro de Excel?

 

Es un conjunto de instrucciones escritas utilizando un lenguaje de programación de computadoras con la finalidad de llevar a cabo un trabajo automático que hecho de forma manual toma tiempo y esfuerzo o simplemente no se puede lograr a través de fórmulas de Excel.

 

El lenguaje de programación con el cual se elaboran las macros de Excel se llama Visual Basic para Aplicaciones, conocido también por sus siglas en inglés como VBA.

 

 

Un pequeño ejemplo

 

 

En la imagen que te muestro justo arriba, puedes ver un pequeño código escrito en lenguaje Visual Basic:

 

En una instrucción le hemos indicado al sistema que si el valor contenido en la celda A2 es menor o igual a 10 entonces que escriba la palabra “Hola” en la celda B2. ¿Fácil, verdad?

 

Esas palabras que ves escritas en un color azul son las palabras reservadas del lenguaje.

 

En el ejemplo, he arreglado las cosas para que la mencionada instrucción se ejecute cada vez que alguien haga click en el botón “Aceptar” que te muestro en la siguiente imagen:

 

 

 

¿Para qué sirve una macro de Excel?

 

Generalmente las personas utilizan las macros de Excel para llevar a cabo tareas repetitivas que demandan tiempo y esfuerzo si se hacen de forma manual. Otras veces se utilizan macros para llevar a cabo tareas que no pueden hacerse usando fórmulas.

 

 

Beneficios por el uso de las macros en tu trabajo y vida profesional

 

El beneficio principal al usar una macro de Excel es el ahorro de tiempo y esfuerzo. Muchas personas que dominan las macros de Excel tienen una mejor posición dentro de la empresa que otras que no tienen ese conocimiento.

 

También se da el caso de quienes poseen buenos ingresos al trabajar como asesores independientes de Excel y realizan desarrollos de macros para empresas y particulares.

 

 

Mi caso particular ¿Qué he ganado con saber programar macros de Excel?

 

Te doy un pequeño ejemplo.

 

A finales de 2006 ingresé a una pequeña empresa que estaba en proceso de ser certificada bajo la norma ISO 9001. En mi departamento se debía elaborar un certificado de calidad por cada lote de producto final despachado.

 

El tiempo que en promedio se necesitaba para elaborar en Excel dicho certificado podía ser de 2 horas, dado que había que realizar muchas operaciones (búsquedas, copiado y pegado, consolidar) en diferentes hojas de diferentes libros de Excel.

 

Pero, 2 horas era demasiado para alguien como yo a quien le gusta tanto la practicidad y no le agrada la rutina.

 

Durante varias semanas logré crear una macro que terminó elaborando el certificado de calidad en 5 minutos.

 

 

¿Por dónde debes comenzar si quieres aprender a crear macros de Excel?

 

Si quieres aprender a crear macros lo más rápido posible, entonces lo primero que debes hacer es encontrar a alguien especialista que te pueda enseñar, bien sea mediante un buen curso online (gratis o de pago) o un buen profesor particular exclusivo para ti.

 

Lo importante es que aprendas con alguien que te lleve directo a lo que necesitas aprender y que te ponga en el camino donde luego ya tú puedas continuar solo.

 

 

¿Con qué herramientas se crean las macros de Excel?

 

Las macros de Excel pueden ser creadas de dos formas:

 

  • Utilizando la grabadora de macros de Excel

  • Escribiendo código de programación desde cero

 

Usar la grabadora de macros podrá ayudarte rápidamente a automatizar ciertas tareas sin tener conocimientos de programación, pero, no te dará el control total, ya que hay muchas cosas que no podrás hacer con el solo uso de la grabadora.

 

En cambio, cuando conoces el lenguaje de programación VBA para Excel y la biblioteca de objetos de Excel sí que tienes el control ya que podrás escribir código por ti mismo o modificar el de la grabadora para automatizar muchas cosas. Por tal motivo, es mi intención en todo esto enseñarte a crear código de VBA desde cero.

 

Para aprender a crear código de programación para tus macros de Excel desde cero debes conocer lo siguiente:

 

  • Lenguaje Visual Basic

  • Biblioteca de objetos de Excel

 

 

Antes de hablar un poco sobre estos puntos, primero necesitas saber qué es un lenguaje de programación:

 

¿Qué es un lenguaje de programación?

Así como nosotros nos comunicamos entre nosotros mediante nuestro lenguaje, los humanos han creado lenguajes artificiales con los que podemos darle órdenes a un computador mediante una serie de instrucciones que se construyen con palabras y símbolos.

 

 

Lenguaje Visual Basic 

Visual Basic es el lenguaje de alto nivel, orientado a eventos, que deriva del lenguaje BASIC. Como ya te he comentado, es el lenguaje con el cual se elaboran las macros de Excel.

 

 

Biblioteca de objetos de Excel

Sólo tendrás medio camino ganado si tienes conocimientos del lenguaje Visual Basic, pero, no sabes nada de la biblioteca de objetos de Excel. Debes ir de la mano con ambas cosas.

 

La biblioteca de objetos de Excel es un grupo de estructuras agrupadas bajo una jerarquía. Estas estructuras te permiten tener acceso desde el código de programación a los elementos a los que normalmente tienes acceso en la interfaz de Excel.

 

 

Esta imagen representa la estructura jerárquica de la biblioteca de Excel en su versión 1998. Desde ese entonces ha sufrido pocos cambios con el tiempo.

 

A continuación, de ese árbol te muestro una parte que representa a los elementos de Excel con los que generalmente tenemos más interacción en nuestro uso más común de esta hoja de cálculo:

 

 

 

En el último rectángulo verde del árbol nos encontramos con el objeto Range. Este es el mismo objeto que utilizamos en el pequeño ejemplo arriba para ilustrar lo que es una macro de Excel:

 

If Range(“A2”) <= 10 Then Range(“B2”) = “Hola”

 

El objeto Range representa a una celda o a un grupo de celdas de Excel.

 

Ten presente lo siguiente:

 

  • El objeto Workbooks representa a todos los libros de Excel abiertos en un momento por la aplicación.

  • El objeto Worksheets representa a todas las hojas de cálculo de un libro.

  • El objeto Chartobjects representa a todas la hojas de gráfico de un libro.

 

Puedes ver que hay una jerarquía donde cada objeto posee un padre y algunos objetos pueden tener hijos o descendientes. Así, por ejemplo:

 

  • Todos los objetos son hijos o descienden del objeto Application.

  • El objeto Workbooks es padre del objeto Worksheets.

  • El objeto Range es hijo del objeto Worksheets.

 

El objeto Application es el programa de Excel como tal.

 

Si te das cuenta, no es algo muy distinto a lo que ves en la realidad: Las hojas están dentro del libro y las celdas están dentro de cada hoja.

 

 

Conclusión

 

Una macro de Excel es una serie de instrucciones escritas mediante un lenguaje de programación. Estas instrucciones sirven para ejecutar una tarea de Excel de forma automática, trayendo un ahorro de tiempo y trabajo considerable.

 

Las macros pueden ser creadas mediante la grabadora de macros de Excel o las puedes crear desde cero cuando tienes conocimientos del lenguaje Visual Basic y de la estructura interna de Excel conocida como biblioteca de objetos de Excel.

 

Bueno, con todo esto lo que he querido hacer es darte una introducción sobre las macros de Excel.

 

Ahora mi intención es enseñarte a crear tu primera macro de Excel utilizando la grabadora de macros.

 

Finalmente, para levantar motivación y estusiasmo en ti, te invito a leer a continuación cómo fue que me inicié en el mundo de la programación.

 

 

¿Cómo nació mi pasión por el mundo de la programación?

 

Aunque la pasión por hacer algo no se puede considerar como un ingrediente esencial para el desarrollo de una actividad, es innegable que ese ingrediente puede ayudar a facilitar mucho las cosas en el proceso de aprendizaje y finalmente hacer de ti alguien brillante en determinada actividad.

 

En 2005, cuando me inicié en el mundo de automatizar tareas en Excel ya habían pasado 12 años desde que había aprendido a programar en un computador.

 

Mi primer lenguaje de programación fue Turbo Pascal 5.0 por allá en 1993, una variante de Pascal que se utilizaba en ese entonces en el pensum de Ingeniería de la universidad de donde egresé.

 

Aunque empecé a programar en 1993, te contaré cómo fue que supe que me gustaría por siempre la programación.

 

Amor a primera vista

 

Fue entre los años 1986 y 1987 cuando mi padre me compró una consola de vídeo juegos Atari 2600. Contaba yo con entre 15 y 16 años de edad.

 

 

En ese entonces algunos de mis compañeros llevaban al colegio cosas del mundo tecnológico asociadas al lenguaje BASIC de programación, tales como calculadoras electrónicas programables, otros llevaban hojas impresas de código BASIC de algún juego y compartían y comentaban entre ellos.

 

Todo eso me entusiasmaba y provocaba en mí una sensación agradable, pero, indescriptible, como estar ante la puerta que conduce a otro mundo, un mundo fascinante, el mundo donde creas cosas que antes no existían. En esa época, cierta vez yo miraba un catálogo de juego de dicha consola Atari y vi allí un juego que nunca tuve, pero, que siempre quise tener.

 

 

El juego en cuestión es el que te muestro en la imagen. Yo miraba esa imagen y sentía que manaba de mí una pasión que no podía explicar. Desde ese momento fue cuando supe que pasaría el resto de mi vida enganchado al mundo de la programación. Fue para mí amor a primera vista.

 

Al momento de escribir este texto habían pasado entre 33 y 34 años desde que vi por primera vez esa imagen de ese juego, y desde entonces no la había vuelto a mirar. Una pequeña búsqueda en Google me permitió hallarla. Contemplar esa imagen es para mí como hacer un viaje al pasado.

 

 

Una manera inusual de aprender a programar

 

Cabría esperar que alguien necesite tener un computador para empezar a estudiar su primer lenguaje de programación. Bueno, ese no fue precisamente mi caso.

 

Tan pronto aprobé las asignaturas pre requisitos de “Introducción a la programación” procedí a comprar mi primer libro de programación:

 

 

Empecé a devorarme ese libro sin tener ningún computador con el cual realizar las prácticas. Aún recuerdo a un compañero muy cercano que me dijo:

 

Eso no te va a servir así, no vas a aprender a programar con solo leer el libro y sin tener un computador

 

¡Mi estimado compañero estaba lejos de la verdad!

 

Yo estaba aprendiendo tanto que hasta empecé a encontrar errores en el libro y los iba registrando. En una de las evaluaciones de la asignatura erré en algo y aunque aprobé la prueba no obtuve la nota que quería. Mi profesor me propuso colocarme ese punto que perdí a cambio de entregarle los errores que fuera encontrando en el libro. Y así ocurrió.

 

El haber aprendido a programar me permitió tener ingresos económicos para ayudarme mientras estaba en la Universidad de donde egresé como ingeniero. Así fue como pude comprar algunos libros y calculadoras electrónicas mientras aún era estudiante de ingeniería. Yo ofrecía mis servicios de clases particulares de Turbo Pascal en la Universidad.

 

En 2010 decidí renunciar a la empresa donde laboré durante poco más de 3 años, para dedicarme a ser independiente. Actualmente ya no vivo en el país que me vio nacer. Desde 2018 me vi forzado a dejar mi tierra. Pero, gracias a Dios, he podido sobrevivir afuera como independiente gracias a los conocimientos que poseo de programación y que aplico sobre Excel a la hora de construir macros con VBA.

 

Espero mi historia haya sido de tu agrado.

 

 

Enviar mensaje
Habla conmigo
Hola ¿Cómo estás?
¿Cómo te puedo ayudar?