Cómo automatizar tareas rutinarias en Excel con macros

Excel tiene una capacidad poderosa, pero al mismo tiempo muy poco utilizada, para crear secuencias automáticas de acciones usando macros. Una macro es una salida ideal si se trata del mismo tipo de tarea que se repite muchas veces. Por ejemplo, procesamiento de datos o formateo de documentos según una plantilla estandarizada. En este caso, no necesitas conocimientos de lenguajes de programación.

¿Ya tienes curiosidad por saber qué es una macro y cómo funciona? Luego, adelante con valentía; luego, paso a paso, haremos todo el proceso de creación de una macro con usted.

¿Qué es Macro?

Una macro en Microsoft Office (sí, esta funcionalidad funciona igual en muchas aplicaciones del paquete Microsoft Office) es un código de programa en un lenguaje de programación Visual Basic para Aplicaciones (VBA) almacenado dentro del documento. Para que quede más claro, un documento de Microsoft Office se puede comparar con una página HTML, luego una macro es un análogo de Javascript. Lo que Javascript puede hacer con datos HTML en una página web es muy similar a lo que puede hacer una macro con datos en un documento de Microsoft Office.

Las macros pueden hacer casi cualquier cosa que desee en un documento. Éstos son algunos de ellos (una parte muy pequeña):

  • Aplicar estilos y formato.
  • Realizar diversas operaciones con datos numéricos y de texto.
  • Utilice fuentes de datos externas (archivos de bases de datos, documentos de texto, etc.)
  • Crea un nuevo documento.
  • Haz todo lo anterior en cualquier combinación.

Crear una macro: un ejemplo práctico

Por ejemplo, tomemos el archivo más común CSV. Esta es una tabla simple de 10 × 20 llena de números del 0 al 100 con encabezados para columnas y filas. Nuestra tarea es convertir este conjunto de datos en una tabla con formato presentable y generar totales en cada fila.

Como ya se mencionó, una macro es un código escrito en el lenguaje de programación VBA. Pero en Excel, puede crear un programa sin escribir una línea de código, lo cual haremos ahora.

Para crear una macro, abra Ver (Tipo) > Macros (macro) > Grabar macro (Grabación de macros…)

Asigne un nombre a su macro (sin espacios) y haga clic en OK.

A partir de este momento, se registran TODAS sus acciones con el documento: cambios en las celdas, desplazamiento por la tabla, incluso cambiar el tamaño de la ventana.

Excel señala que el modo de grabación de macros está habilitado en dos lugares. Primero, en el menú. Macros (Macros) – en lugar de una cadena Grabar macro (Grabando una macro…) apareció una línea Detener grabación (Para de grabar).

Segundo, en la esquina inferior izquierda de la ventana de Excel. Icono Detener (cuadrado pequeño) indica que el modo de grabación macro está habilitado. Al hacer clic en él, se detendrá la grabación. Por el contrario, cuando el modo de grabación no está habilitado, hay un icono para habilitar la grabación de macros en esta ubicación. Hacer clic en él dará el mismo resultado que encender la grabación a través del menú.

Ahora que el modo de grabación de macros está habilitado, vayamos a nuestra tarea. En primer lugar, agreguemos encabezados para los datos de resumen.

Next, enter the formulas in the cells in accordance with the names of the headings (variants of the formulas for the English and versions of Excel are given, cell addresses are always Latin letters and numbers):

  • =SUMA(B2:K2) or =SUMA(B2:K2)
  • =PROMEDIO(B2:K2) or =СРЗНАЧ(B2:K2)
  • =MÍN(B2:K2) or =MÍN(B2:K2)
  • =MÁX.(B2:K2) or =MÁX.(B2:K2)
  • =MEDIANA(B2:K2) or =MEDIANA(B2:K2)

Ahora seleccione las celdas con fórmulas y cópielas en todas las filas de nuestra tabla arrastrando el controlador de autocompletar.

Después de completar este paso, cada fila debe tener los totales correspondientes.

A continuación, resumiremos los resultados para toda la tabla, para ello hacemos unas cuantas operaciones matemáticas más:

Respectivamente:

  • =SUMA(L2:L21) or =SUMA(L2:L21)
  • =PROMEDIO(B2:K21) or =СРЗНАЧ(B2:K21) – para calcular este valor, es necesario tomar exactamente los datos iniciales de la tabla. Si toma el promedio de los promedios de filas individuales, el resultado será diferente.
  • =MÍN(N2:N21) or =MÍN(N2:N21)
  • =MÁX(O2:O21) or =MÁX(O2:O21)
  • =MEDIANA(B2:K21) or =MEDIANA(B2:K21) – consideramos utilizar los datos iniciales de la tabla, por el motivo indicado anteriormente.

Ahora que hemos terminado con los cálculos, hagamos un poco de formato. Primero, configuremos el mismo formato de visualización de datos para todas las celdas. Seleccione todas las celdas de la hoja, para hacer esto, use el atajo de teclado Ctrl + Ao haga clic en el icono Seleccionar todo, que se encuentra en la intersección de los encabezados de fila y columna. Luego haga clic Estilo de coma Pestaña (Formato delimitado) Inicio (Casa).

A continuación, cambie la apariencia de los encabezados de columna y fila:

  • Estilo de fuente en negrita.
  • Alineación central.
  • Relleno de color.

Y finalmente, configuremos el formato de los totales.

Así es como debería verse al final:

Si todo te conviene, deja de grabar la macro.

¡Felicidades! Usted mismo acaba de grabar su primera macro en Excel.

Para usar la macro generada, debemos guardar el documento de Excel en un formato que admita macros. Primero, necesitamos eliminar todos los datos de la tabla que creamos, es decir, convertirla en una plantilla vacía. El hecho es que en el futuro, trabajando con esta plantilla, le importaremos los datos más recientes y relevantes.

Para borrar todas las celdas de los datos, haga clic derecho en el icono Seleccionar todo, que se encuentra en la intersección de los encabezados de fila y columna, y en el menú contextual, seleccione Borrar (Borrar).

Ahora nuestra hoja está completamente borrada de todos los datos, mientras que la macro permanece grabada. Necesitamos guardar el libro de trabajo como una plantilla de Excel habilitada para macros que tiene la extensión XLTM.

¡Un punto importante! Si guarda el archivo con la extensión XLTX, entonces la macro no funcionará en él. Por cierto, puede guardar el libro de trabajo como una plantilla de Excel 97-2003, que tiene el formato XLT, también admite macros.

Cuando se guarda la plantilla, puede cerrar Excel de forma segura.

Ejecutar una macro en Excel

Antes de revelar todas las posibilidades de la macro que creaste, creo que es correcto prestar atención a un par de puntos importantes con respecto a las macros en general:

  • Las macros pueden ser dañinas.
  • Vuelve a leer el párrafo anterior.

El código VBA es muy poderoso. En particular, puede realizar operaciones en archivos fuera del documento actual. Por ejemplo, una macro puede eliminar o modificar cualquier archivo en una carpeta Mis documentos. Por este motivo, solo ejecute y permita macros de fuentes en las que confíe.

Para ejecutar nuestra macro de formato de datos, abra el archivo de plantilla que creamos en la primera parte de este tutorial. Si tiene una configuración de seguridad estándar, cuando abra un archivo, aparecerá una advertencia sobre la tabla que indica que las macros están deshabilitadas y un botón para habilitarlas. Como la plantilla la hicimos nosotros mismos y confiamos en nosotros mismos, pulsamos el botón Contenido disponible (Incluir contenido).

El siguiente paso es importar el último conjunto de datos actualizado del archivo. CSV (basándonos en dicho archivo, creamos nuestra macro).

Cuando importa datos de un archivo CSV, Excel puede pedirle que configure algunos ajustes para transferir correctamente los datos a la tabla.

Cuando finalice la importación, vaya al menú Macros Pestaña (Macros) Ver (Ver) y seleccione un comando Ver macros (Macro).

En el cuadro de diálogo que se abre, veremos una línea con el nombre de nuestra macro Formato de datos. Selecciónelo y haga clic. Ejecutar (Ejecutar).

Cuando la macro comience a ejecutarse, verá que el cursor de la tabla salta de una celda a otra. Después de unos segundos, se realizarán las mismas operaciones con los datos que cuando se graba una macro. Cuando todo esté listo, la tabla debe verse igual que la original que formateamos a mano, solo que con datos diferentes en las celdas.

Miremos debajo del capó: ¿Cómo funciona una macro?

Como se mencionó más de una vez, una macro es un código de programa en un lenguaje de programación. Visual Basic para Aplicaciones (VBA). Cuando activa el modo de grabación de macros, Excel realmente registra cada acción que realiza en forma de instrucciones VBA. En pocas palabras, Excel escribe el código por usted.

Para ver este código de programa, necesita en el menú Macros Pestaña (Macros) Ver (ver) clic Ver macros (Macros) y en el cuadro de diálogo que se abre, haga clic en Editar (Cambiar).

Se abre la ventana. Visual Basic para Aplicaciones, en el que veremos el código de programa de la macro que grabamos. Sí, entendiste bien, aquí puedes cambiar este código e incluso crear una nueva macro. Las acciones que realizamos con la tabla en esta lección se pueden registrar mediante la grabación automática de macros en Excel. Pero las macros más complejas, con una secuencia y una lógica de acción finamente ajustadas, requieren una programación manual.

Agreguemos un paso más a nuestra tarea...

Imagine que nuestro archivo de datos original datos.csv se crea automáticamente por algún proceso y siempre se almacena en el disco en el mismo lugar. Por ejemplo, C:Datosdatos.csv – ruta al archivo con datos actualizados. El proceso de abrir este archivo e importar datos desde él también se puede grabar en una macro:

  1. Abra el archivo de plantilla donde guardamos la macro: Formato de datos.
  2. Crear una nueva macro llamada Cargar datos.
  3. Mientras graba una macro Cargar datos importar datos desde archivo datos.csv – como hicimos en la parte anterior de la lección.
  4. Cuando se complete la importación, deje de grabar la macro.
  5. Eliminar todos los datos de las celdas.
  6. Guarde el archivo como una plantilla de Excel habilitada para macros (extensión XLTM).

Por lo tanto, al ejecutar esta plantilla, obtiene acceso a dos macros: una carga los datos y la otra los formatea.

Si desea iniciarse en la programación, puede combinar las acciones de estas dos macros en una, simplemente copiando el código de Cargar datos al principio del código Formato de datos.

Deje un comentario