Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Por ejemplo, si todas las mañanas creas un reporte de ventas y en ese reporte siempre
das el mismo formato a los textos, se podría crear una macro para que lo haga
automáticamente por ti. Las macros se utilizan principalmente para eliminar la necesidad
de repetir los pasos de aquellas tareas que realizas una y otra vez.
Un lenguaje de programación
Las macros se escriben en un lenguaje de computadora especial que es conocido como
Visual Basic for Applications (VBA). Este lenguaje permite acceder a prácticamente todas
las funcionalidades de Excel y con ello también ampliar la funcionalidad del programa.
Automatización de tareas
Seguramente estás familiarizado con procesos de automatización en el ámbito industrial.
Un ejemplo muy claro son las plantas ensambladoras de automóviles donde existen robots
que han sustituido tareas que antes eran hechas por humanos. La automatización trajo
beneficios como mayor eficiencia y productividad de las plantas y un mejor
aprovechamiento del tiempo del personal al reducir la cantidad de tareas repetitivas que
realizaban.
De la misma manera las macros nos ayudan a eliminar esas tareas repetitivas de nuestro
trabajo cotidiano al permitirnos utilizar mejor nuestro tiempo en el análisis de los datos y
en la toma de decisiones.
I.E.S.E., MACROS EN EXCEL 2020
¿Cómo se ve una macro en Excel?
Las macros son escritas en un lenguaje de computadora conocido como VBA por sus siglas
en inglés (Visual Basic for Applications). Como cualquier otro lenguaje de computadora
debemos aprender a utilizar los comandos que nos ayudarán a indicar a Excel lo que
deseamos hacer con nuestros datos.
Existe otro método que es utilizar la Grabadora de macros la cual irá grabando todas las
acciones que realicemos en Excel hasta que detengamos la grabación. Una vez grabada
la macro podremos “reproducir” de nuevo las acciones con tan solo un clic.
Ahora que ya sabes para qué sirve una macro en Excel puedes dar los primeros pasos
en este camino utilizando el tutorial Introducción a las macros.
I.E.S.E., MACROS EN EXCEL 2020
Existen al menos dos alternativas para abrir este editor, la primera de ellas es a través del
botón Visual Basicde la ficha Programador.
El segundo método para abrir este programa es, en mi opinión, el más sencillo y rápido y
que es a través del atajo de teclado: ALT + F11. El Editor de Visual Basic contiene varias
ventanas y barras de herramientas.
El Explorador de proyectos también nos ayuda a crear o abrir módulos de código que se
serán de gran utilidad para reutilizar todas las funciones de código VBA que vayamos
escribiendo.
Dentro del Editor de Visual Basic puedes observar una ventana llamada Inmediato que
está en la parte inferior. Esta ventana es de mucha ayuda al momento de escribir código
VBA porque permite introducir instrucciones y observar el resultado inmediato. Además,
desde el código VBA podemos imprimir mensajes hacia la ventana Inmediato con el
comando Debug.Print de manera que podamos depurar nuestro código. Si no puedes
observar esta ventana puedes mostrarla también desde el menú Ver.
El área más grande en blanco es donde escribiremos el código VBA. Es en esa ventana en
donde escribimos y editamos las instrucciones VBA que dan forma a nuestras macros.
Es importante familiarizarnos con el Editor de Visual Basic antes de iniciar con la creación
de macros.
I.E.S.E., MACROS EN EXCEL 2020
Creación de un módulo
Una vez dentro del Editor debes hacer clic derecho sobre el título del proyecto y dentro del
menú seleccionar la opción Insertar y posteriormente Módulo.
Si el módulo no está abierto solamente deberás hacer doble clic sobre él. Posiciónate en
el área de código e introduce las siguientes instrucciones:
Subrutinas en VBA
El primer concepto que explicare es la instrucción Sub que es la abreviación de la
palabra subrutina. Una subrutina no es más que un conjunto de instrucciones que se
ejecutarán una por una hasta llegar al final de la subrutina que está especificado por la
instrucción End Sub.
Las subrutinas nos ayudan a agrupar varias instrucciones de manera que podamos
organizar adecuadamente nuestro código. Una subrutina siempre tiene un nombre el cual
debe ser especificado justo después de la instrucción Sub y seguido por paréntesis.
I.E.S.E., MACROS EN EXCEL 2020
La función MsgBox en VBA
La subrutina que acabamos de crear para este ejemplo solamente tiene una instrucción
dentro la cual hace uso de la función MsgBox. Esta función nos ayuda a mostrar una
ventana de mensaje de manera que podamos estar comunicados con el usuario sobre
cualquier error o advertencia que necesitamos darle a conocer. Para este ejemplo he
utilizado la forma más sencilla de la función MsgBox la cual solamente tiene un solo
argumento que es precisamente el mensaje que necesitamos mostrar en pantalla al
usuario.
Ejecutar macro
Para probar nuestro código bastará con pulsar el botón Ejecutar que se encuentra dentro
de la barra de herramientas.
Listo, has creado tu primera macro la cual muestra una ventana de mensajes y despliega
el texto especificado en la función MsgBox. Para guardar la macro recuerda que debes
guardar el archivo como Libro de Excel habilitado para macros, de lo contrario perderás
el código del módulo creado.
I.E.S.E., MACROS EN EXCEL 2020
Un comentario en VBA es una línea dentro del código que no será tomada en cuenta al
momento de realizar la ejecución. Los comentarios serán solo visibles por ti al momento de
editar el código dentro del Editor de Visual Basic.
Para agregar un comentario será suficiente con colocar una comilla sencilla (‘) al inicio de
la línea. Después de colocar la comilla sencilla debes escribir el comentario y al terminar
de insertar la línea Excel colocará automáticamente el texto en color verde indicando que
ha reconocido la línea como un comentario en VBA.
He visto en más de una ocasión que muchas personas no tienen esta buena práctica al
programar en VBA y el problema se presentará cuando pase el tiempo y tengan que
modificar el código pero ya no recuerden la lógica implementada ni lo que significa cada
una de las variables.
Aunque pareciera una actividad aburrida, créeme que te ahorrará mucho tiempo cuando te
veas en la necesidad de modificar tu código. Además, si por alguna razón necesitas que
otra persona haga modificaciones al código le serán de gran ayuda los comentarios que
hayas agregado.
Para comentar varias líneas de código en una macro, sin la necesidad de estar colocando
la comilla sencilla al principio de cada una de las líneas, puedes seguir los siguientes pasos.
En primer lugar selecciona todas las líneas de código que deseas convertir en comentarios
y posteriormente oprime el botón Bloque con comentarios de manera que Excel coloque
todas las comillas sencillas (‘) a cada línea de código seleccionada.
De la misma manera puedes remover las comillas sencillas si pulsas el botón Bloque sin
comentarios que se encuentra justo al lado derecho del botón Bloque con comentarios.
Si no puedes ver los botones anteriores en el Editor de Visual Basic es porque seguramente
tienes oculta la barra de herramientas de Edición. Para mostrarla, haz clic derecho sobre
un área libre del menú superior y seleccionar la opción Edición.
I.E.S.E., MACROS EN EXCEL 2020
Cada uno de los objetos de Excel tiene propiedades y métodos. Las propiedades son las
características del objeto y los métodos son las acciones que el objeto puede hacer.
Propiedades de un objeto
Si una persona fuera un objeto de Excel sus propiedades serían el color de sus ojos, el
color de su cabello, su estatura, su peso. De la misma manera, un objeto de Excel tiene
propiedades por ejemplos, una celda (Range) tiene las propiedades valor (Value) y
dirección (Address) entre muchas otras. Estas propiedades describen mejor al objeto.
Métodos de un objeto
I.E.S.E., MACROS EN EXCEL 2020
Siguiendo con el ejemplo de una persona, si fuera un objeto de Excel sus métodos serían
correr, caminar, hablar, dormir. Los métodos son las actividades o acciones que el objeto
puede realizar. Los objetos de Excel se comportan de la misma manera que el ejemplo de
una persona. Una celda (Range) tiene los métodos activar (Activate), calcular (Calculate),
borrar (Clear) entre muchos más.
Range("A1").Value = "Hola"
De esta manera asignamos una cadena de texto al valor de la celda A1. Ahora bien, si
queremos borrar ese valor que acabamos de colocar en la celda podemos utilizar el
método Clear de la siguiente manera:
Range("A1").Clear
Esto sucede al momento de introducir el punto después del nombre del objeto. Puedes
distinguir entre las propiedades y métodos porque tienen iconos diferentes. En la imagen
de arriba los métodos son los que tienen el icono de color verde.