Página principal » cómo » Aprenda a usar macros de Excel para automatizar tareas tediosas

    Aprenda a usar macros de Excel para automatizar tareas tediosas

    Una de las funciones más poderosas, pero rara vez utilizadas de Excel, es la capacidad de crear tareas automatizadas y lógica personalizada muy fácilmente dentro de las macros. Las macros proporcionan una forma ideal de ahorrar tiempo en tareas repetitivas y predecibles, así como de estandarizar formatos de documentos, muchas veces sin tener que escribir una sola línea de código.

    Si tiene curiosidad por saber qué son las macros o cómo crearlas realmente, no hay problema, lo guiaremos por todo el proceso.

    Nota: El mismo proceso debería funcionar en la mayoría de las versiones de Microsoft Office. Las capturas de pantalla pueden verse ligeramente diferentes.

    Que es una macro?

    Una macro de Microsoft Office (ya que esta funcionalidad se aplica a varias de las aplicaciones de MS Office) es simplemente un código de Visual Basic para aplicaciones (VBA) guardado dentro de un documento. Para una analogía comparable, piense en un documento como HTML y una macro como Javascript. De la misma manera que Javascript puede manipular HTML en una página web, una macro puede manipular un documento.

    Las macros son increíblemente poderosas y pueden hacer casi cualquier cosa que tu imaginación pueda conjurar. Como una (muy) lista corta de funciones que puede hacer con una macro:

    • Aplicar estilo y formato..
    • Manipular datos y texto..
    • Comunicarse con las fuentes de datos (base de datos, archivos de texto, etc.).
    • Crea documentos completamente nuevos..
    • Cualquier combinación, en cualquier orden, de cualquiera de los anteriores..

    Creando una macro: una explicación por ejemplo

    Comenzamos con su archivo CSV variedad jardín. Nada especial aquí, solo un conjunto de números de 10 × 20 entre 0 y 100 con encabezado de fila y columna. Nuestro objetivo es producir una hoja de datos presentable y bien formateada que incluya totales resumidos para cada fila.

    Como dijimos anteriormente, una macro es un código VBA, pero una de las cosas buenas de Excel es que puede crearlas / grabarlas sin necesidad de codificación, como haremos aquí..

    Para crear una macro, vaya a Ver> Macros> Grabar macro.

    Asigne un nombre a la macro (sin espacios) y haga clic en Aceptar.

    Una vez hecho esto, todos Se registran todas sus acciones: cada cambio de celda, acción de desplazamiento, cambio de tamaño de la ventana, lo que quiera..

    Hay un par de lugares que indican que Excel es el modo de grabación. Una es ver el menú Macro y observar que Detener grabación ha reemplazado la opción para Grabar macro.

    El otro está en la esquina inferior derecha. El ícono 'detener' indica que está en modo macro y al presionar aquí se detendrá la grabación (de la misma manera, cuando no esté en modo de grabación, este ícono será el botón Grabar macro, que puede usar en lugar de ir al menú de macros).

    Ahora que estamos grabando nuestra macro, apliquemos nuestros cálculos de resumen. Primero agregue los encabezados.

    A continuación, aplique las fórmulas apropiadas (respectivamente):

    • = SUMA (B2: K2)
    • = MEDIA (B2: K2)
    • = MIN (B2: K2)
    • = MAX (B2: K2)
    • = MEDIANO (B2: K2)

    Ahora, resalte todas las celdas de cálculo y arrastre la longitud de todas nuestras filas de datos para aplicar los cálculos a cada fila.

    Una vez hecho esto, cada fila debe mostrar sus respectivos resúmenes.

    Ahora, queremos obtener los datos de resumen de toda la hoja, por lo que aplicamos algunos cálculos más:

    Respectivamente:

    • = SUMA (L2: L21)
    • = MEDIA (B2: K21) *Esto debe calcularse en todos los datos porque el promedio de los promedios de las filas no es necesariamente igual al promedio de todos los valores.
    • = MIN (N2: N21)
    • = MAX (O2: O21)
    • = MEDIANO (B2: K21) * Calculado en todos los datos por la misma razón que arriba.

    Ahora que los cálculos están listos, aplicaremos el estilo y el formato. Primero aplique el formato de número general en todas las celdas haciendo un Seleccionar todo (ya sea Ctrl + A o haga clic en la celda entre los encabezados de fila y columna) y seleccione el icono "Estilo de coma" en el menú Inicio.

    A continuación, aplique algún formato visual a los encabezados de fila y columna:

    • Negrita.
    • Centrado.
    • Color de relleno de fondo.

    Y por último, aplicar un poco de estilo a los totales..

    Cuando todo está terminado, así es como se ve nuestra hoja de datos:

    Dado que estamos satisfechos con los resultados, detenga la grabación de la macro.

    Enhorabuena, acaba de crear una macro de Excel..

    Para utilizar nuestra macro recién grabada, tenemos que guardar nuestro libro de Excel en un formato de archivo habilitado para macros. Sin embargo, antes de hacerlo, primero tenemos que borrar todos los datos existentes para que no estén incorporados en nuestra plantilla (la idea es que cada vez que usemos esta plantilla, importaremos los datos más actualizados).

    Para ello, seleccione todas las celdas y elimínelas..

    Con los datos ya borrados (pero las macros aún incluidas en el archivo de Excel), queremos guardar el archivo como un archivo de plantilla habilitada para macros (XLTM). Es importante tener en cuenta que si guarda esto como un archivo de plantilla estándar (XLTX), las macros no ser capaz de correr de ella Alternativamente, puede guardar el archivo como un archivo de plantilla heredada (XLT), lo que permitirá ejecutar macros.

    Una vez que haya guardado el archivo como plantilla, siga adelante y cierre Excel.

    Usando una macro de Excel

    Antes de cubrir cómo podemos aplicar esta macro recién grabada, es importante cubrir algunos puntos sobre las macros en general:

    • Las macros pueden ser maliciosas.
    • Ver el punto de arriba.

    El código VBA es realmente muy poderoso y puede manipular archivos fuera del alcance del documento actual. Por ejemplo, una macro podría alterar o eliminar archivos aleatorios en su carpeta Mis documentos. Como tal, es importante asegurarse de que solamente ejecutar macros desde fuentes confiables.

    Para utilizar nuestra macro de formato de datos, abra el archivo de plantilla de Excel que se creó anteriormente. Cuando haga esto, asumiendo que tiene la configuración de seguridad estándar habilitada, verá una advertencia en la parte superior del libro de trabajo que dice que las macros están deshabilitadas. Como confiamos en una macro creada por nosotros mismos, haga clic en el botón 'Habilitar contenido'.

    A continuación, vamos a importar el último conjunto de datos desde un CSV (esta es la fuente de la hoja de trabajo utilizada para crear nuestra macro).

    Para completar la importación del archivo CSV, es posible que tenga que configurar algunas opciones para que Excel pueda interpretarlo correctamente (por ejemplo, delimitador, encabezados presentes, etc.).

    Una vez que se importan nuestros datos, simplemente vaya al menú Macros (en la pestaña Ver) y seleccione Ver macros.

    En el cuadro de diálogo resultante, vemos la macro "FormatData" que grabamos arriba. Selecciónelo y haga clic en Ejecutar..

    Una vez ejecutado, puede ver el cursor saltar por unos momentos, pero a medida que lo haga, verá cómo se manipulan los datos. exactamente como lo grabamos Cuando todo está dicho y hecho, debe verse como nuestro original, excepto con datos diferentes.

    Mirando bajo el capó: ¿Qué hace que una macro funcione?

    Como hemos mencionado un par de veces, una macro está controlada por el código de Visual Basic para Aplicaciones (VBA). Cuando “grabas” una macro, Excel traduce todo lo que haces en sus respectivas instrucciones de VBA. En pocas palabras, no tiene que escribir ningún código porque Excel está escribiendo el código por usted..

    Para ver el código que hace que se ejecute nuestra macro, en el cuadro de diálogo Macros, haga clic en el botón Editar.

    La ventana que se abre muestra el código fuente que se registró de nuestras acciones al crear la macro. Por supuesto, puede editar este código o incluso crear nuevas macros completamente dentro de la ventana de código. Si bien la acción de grabación utilizada en este artículo probablemente se ajuste a la mayoría de las necesidades, las acciones más personalizadas o acciones condicionales requerirán que edite el código fuente..

    Tomando nuestro ejemplo un paso más allá ...

    Hipotéticamente, supongamos que nuestro archivo de datos de origen, data.csv, se produce mediante un proceso automatizado que siempre guarda el archivo en la misma ubicación (por ejemplo, C: \ Data \ data.csv es siempre la información más reciente). El proceso de abrir este archivo e importarlo también se puede convertir fácilmente en una macro:

    1. Abra el archivo de plantilla de Excel que contiene nuestra macro "FormatData".
    2. Graba una nueva macro llamada "LoadData".
    3. Con la grabación de macros, importe el archivo de datos como lo haría normalmente.
    4. Una vez que se importan los datos, deja de grabar la macro.
    5. Eliminar todos los datos de la celda (seleccionar todo y luego eliminar).
    6. Guarde la plantilla actualizada (recuerde utilizar un formato de plantilla habilitado para macros).

    Una vez hecho esto, cada vez que se abra la plantilla habrá dos macros: una que carga nuestros datos y otra que la formatea.

    Si realmente desea ensuciarse las manos con un poco de edición de código, puede combinar fácilmente estas acciones en una sola macro copiando el código producido a partir de "LoadData" e insertándolo al principio del código de "FormatData".

    Descargar esta plantilla

    Para su comodidad, hemos incluido tanto la plantilla de Excel producida en este artículo como un archivo de datos de muestra para que juegue con ellos..

    Descargar la plantilla de macro de Excel desde How-To Geek