Utilización de Macros en Excel

Lecciones para aprender a utilizar Macros en Excel

Debes tener en Cuenta

Introducción a las macros

Las macros de Excel nos permiten automatizar tareas que realizamos cotidianamente de manera que podamos ser más eficientes en nuestro trabajo. Una macro no es más que una serie de comandos o instrucciones que permanecen almacenados dentro de Excel y que podemos ejecutar cuando sea necesario y cuantas veces lo deseemos.

Aunque las macros son un tema avanzado de Excel puedes consultar los siguientes artículos para comenzar a familiarizarte con este tema

¿Qué es una macro de Excel?

Si utilizas Excel frecuentemente es posible que en alguna ocasión te hayas encontrado ejecutando una misma serie de acciones una y otra vez. Esas acciones que haces repetidas veces se podrían automatizar con una macro.

 

Una macro es un conjunto de comandos que se almacena en un lugar especial de Excel de manera que están siempre disponibles cuando los necesites ejecutar.

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.

¿Qué es una macro en Excel?

Pero no te preocupes si no eres un programador de computadoras, Excel provee de una herramienta especial que permite crear una macro sin necesidad de conocer los detalles del lenguaje de programación.

Qué es una macro en Excel 2010

Aunque si aceptas el desafío y te introduces en el mundo de la programación VBA pronto te convertirás en un Ninja de Excel. Verás que crear una macro en Excel no es tan complicado y será una manera fácil y rápida de eliminar esas tareas repetitivas que todos los días te quitan minutos preciados de tu tiempo.

Para qué sirve una macro en Excel

¿Para qué sirve una macro en Excel? Una macro nos ayuda a automatizar aquellas tareas que hacemos repetidamente. Una macro es una serie de instrucciones que son guardadas dentro de un archivo de Excel para poder ser ejecutadas cuando lo necesitemos.

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.

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

Para que sirve una macro en Excel

Aprender el lenguaje VBA no es nada complicado y se puede lograr fácilmente. Lo que toma un poco más de tiempo es pulir nuestras habilidades de programación. Lo que quiero decir con esto es que para ser un buen programador de macros debes  dedicar tiempo en resolver múltiples problemas en donde puedas llevar al límite el lenguaje VBA.

Creación de una macro

Las macros se crean con el Editor de Visual Basic el cual nos permitirá introducir el código con las instrucciones que serán ejecutadas por la macro.

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.

Mostrar la ficha Programador

Si quieres escribir una nueva macro o ejecutar una macro previamente creada, entonces debes habilitar la ficha Programadordentro de la cinta de opciones. Para mostrar esta ficha sigue los siguientes pasos.

 

Mostrar la ficha Programador en Excel 2010

Haz clic en la ficha Archivo y elige la sección Opciones. Se mostrará el cuadro de diálogo Opciones de Excel donde deberás seleccionar la opción Personalizar cinta de opciones.

Personalizar cinta de opciones

En el panel de la derecha deberás asegurarte de seleccionar la ficha Programador.

Habilitar la ficha Programador

Acepta los cambios y la ficha se mostrará en la cinta de opciones.

La ficha Programador en Excel

Grupos de la ficha Programador

El grupo Código tienes los comandos necesarios para iniciar el Editor de Visual Basic donde se puede escribir directamente código VBA. También nos permitirá ver la lista de macros disponibles para poder ejecutarlas o eliminarlas. Y no podríamos olvidar mencionar que en este grupo se encuentra el comando Grabar macro el cual nos permite crear una macro sin necesidad de saber sobre programación en VBA.

El grupo Complementos nos permite administrar y habilitar complementos como el Solver.

El grupo Controles incluye funcionalidad para agregar controles especiales a las hojas de Excel como los controles de formulario que son botones, casillas de verificación, botones de opción entre otros más que serán de gran utilidad para ampliar la funcionalidad de Excel.

El grupo XML permite importar datos de un archivo XML así como opciones útiles para codificar archivos XML. Finalmente el grupo Modificar solamente contiene el comando Panel de documentos.

Aunque pueden parecer intimidantes los comandos de la ficha Programador con el paso del tiempo te irás familiarizando poco a poco con cada uno de ellos.

 

La grabadora de macros

Puedes crear una macro utilizando el lenguaje de programación VBA, pero el método más sencillo es utilizar la grabadora de macros que guardará todos los pasos realizados para ejecutarlos posteriormente.

 

La grabadora de macros en Excel 2010

La grabadora de macros almacena cada acción que se realiza en Excel, por eso es conveniente planear con antelación los pasos a seguir de manera que no se realicen acciones innecesarias mientras se realiza la grabación. Para utilizar la grabadora de macros debes ir a la ficha Programador y seleccionar el comando Grabar macro.

Grabar macro

Al pulsar el botón se mostrará el cuadro de diálogo Grabar macro.

Grabadora de macros

En el cuadro de texto Nombre de la macro deberás colocar el nombre que identificará de manera única a la macro que estamos por crear. De manera opcional puedes asignar un método abreviado de teclado el cual permitirá ejecutar la macro con la combinación de teclas especificadas.

La lista de opciones Guardar macro en permite seleccionar la ubicación donde se almacenará la macro.

  • Este libro. Guarda la macro en el libro actual.
  • Libro nuevo. La macro se guarda en un libro nuevo y que pueden ser ejecutadas en cualquier libro creado durante la sesión actual de Excel.
  • Libro de macros personal. Esta opción permite utilizar la macro en cualquier momento sin importar el libro de Excel que se esté utilizando.

También puedes colocar una Descripción para la macro que vas a crear. Finalmente debes pulsar el botón Aceptar para iniciar con la grabación de la macro. Al terminar de ejecutar las acciones planeadas deberás pulsar el botón Detener grabación para completar la macro.

Detener grabación

Crear una macro

En esta ocasión mostraré cómo crear una macro en Excel utilizando la grabadora de macros. La macro será un ejemplo muy sencillo pero permitirá ilustrar el proceso básico de creación.

Voy a crear una macro que siempre introduzca el nombre de tres departamentos de una empresa y posteriormente aplique un formato especial al texto. Para iniciar la grabación debes ir al comando Grabar macro que se encuentra en la ficha Programador lo cual mostrará el siguiente cuadro de diálogo.

Grabar una macro

Observa cómo he colocado un nombre a la macro y además he especificado el método abreviado CTRL+d para ejecutarla posteriormente. Una vez que se pulsa el botón Aceptar se iniciará la grabación. Observa con detenimiento los pasos.

Creación de una macro

Al terminar los pasos se pulsa el comando Detener grabación y la macro habrá quedado guardada. Para ejecutar la macro recién guardada seleccionaré una nueva hoja de Excel y seleccionaré el comando Macros.

Ejecutar una macro

Al pulsar el comando Macros se mostrará la lista de todas las macros existentes y de las cuales podrás elegir la más conveniente. Al hacer clic sobre el comando Ejecutar se realizarán todas las acciones almacenadas en la macro y obtendrás el resultado esperado. Por supuesto que si utilizas el método abreviado de teclado de la macro entonces se omitirá este último cuadro de diálogo.

El código de la Grabadora de macros

Una manera muy interesante de descubrir y aprender más sobre código VBA es analizar el código generado por la Grabadora de macros. Para este ejemplo grabaremos una macro muy sencilla que solamente cambie el color de la fuente de la celda actual.

Para comenzar debemos ir a la ficha Programador y pulsar el comando Grabar macro lo cual mostrará el cuadro de diálogo donde asignaré un nombre a la macro que estoy por crear.

Cuadro de diálogo Grabar macro

Pulsa el botón Aceptar y se comenzarán a grabar todas las acciones, así que debes actuar con cuidado porque se grabará absolutamente todo. Para la macro que estoy grabando solo haré lo siguiente: iré a la ficha Inicio y pulsaré el comando Color de fuente y seleccionaré el color rojo para la celda activa.

Aplicar color de fuente

Una vez hecho esto debo detener la grabación de la macro y una alternativa para hacerlo es pulsar el icono que se muestra en la barra de estado.

Detener la grabación de una macro

Ahora que ya hemos generado la macro, pulsa el botón Macros que se encuentra en el grupo Código de la ficha Programador. Se mostrará el cuadro de diálogo  Macro que enlista todas las macros que hemos creado.

Lista de macros en el Libro

Selecciona la macro recién creada y pulsa el botón Modificar. Esto abrirá el Editor de Visual Basic y mostrará el código generado para la macro.

Código de la macro generada

Observando este código podemos aprender varias cosas. Para empezar observamos que el objeto Selection tiene una propiedad llamada Font que es la que hace referencia a la fuente de la celda o rango seleccionado. A su vez, la propiedad Font tiene otra propiedad llamada Color que es precisamente la que define el color rojo de nuestra celda.

Aunque este ha sido un ejercicio muy sencillo, cuando tengas curiosidad o duda sobre qué objetos utilizar al programar en VBA considera utilizar la Grabadora de macros para darte una idea del camino a seguir.

Establecer seguridad de macros

La seguridad es un tema importante al hablar de macros en Excel. Si abres algún archivo que contenga una macro maliciosa puedes causar algún tipo de daño al equipo. De manera predeterminada Excel no permite ejecutar macros automáticamente.

Sin embargo, si estás creando tus propias macros y deseas remover esta protección porque sabes que no existe código malicioso, entonces puedes modificar la configuración para habilitar todas las macros. Para hacerlo debes seguir los siguientes pasos.

Haz clic en la ficha Archivo y posteriormente en Opciones. Dentro del cuadro de diálogo mostrado selecciona la opción Centro de confianza y posteriormente pulsa el botón Configuración del centro de confianza. Se mostrará el cuadro de diálogoCentro de confianza.

Centro de confianza

Dentro de la sección Configuración de macros selecciona alguna de las opciones disponibles.

  • Deshabilitar todas las macros sin notificación. Deshabilita las macros y permite ejecutar solamente aquellas que estén almacenadas en un lugar confiable.  Los lugares confiables se configuran en la sección Ubicaciones de confianza del mismo cuadro de diálogo.
  • Deshabilitar todas las macros con notificación. Muestra una alerta de seguridad advirtiendo sobre la intención de ejecutar una macro de manera que se pueda decidir si se desea ejecutar. Esta es la opción predeterminada de Excel.
  • Deshabilitar todas las macros excepto las firmadas digitalmente. Solamente se podrán ejecutar las macros que están firmadas digitalmente.
  • Habilitar todas las macros. Permite ejecutar todas las macros sin enviar alguna notificación al usuario. Esta opción es útil si se ejecutan múltiples macros totalmente confiables. Esta opción es la que corre los mayores riesgos al ejecutar una macro de una fuente desconocida.

Una vez seleccionada la opción deseada se debe pulsar el botón Aceptar para hacer los cambios permanentes