9Sep

Aprenda cómo usar las macros de Excel para automatizar las tediosas tareas

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

Si tiene curiosidad acerca de qué son las macros o cómo crearlas realmente, no hay problema, le guiaremos a través de 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.

¿Qué es una macro?

Una macro de Microsoft Office( ya que esta funcionalidad se aplica a varias de las aplicaciones de MS Office) es simplemente 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. En gran parte de la misma forma en que Javascript puede manipular HTML en una página web, una macro puede manipular un documento.

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

  • Aplicar estilo y formato.
  • Manipula datos y texto.
  • Comuníquese 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.

Crear una macro: una explicación mediante el ejemplo

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

Como mencionamos anteriormente, una macro es 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 & gt;Macros & gt;Grabar macro.

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

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

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 la grabación ha reemplazado la opción para grabar macro.

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

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

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

  • = SUMA( B2: K2)
  • = PROMEDIO( 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 para toda la hoja, por lo que aplicamos algunos cálculos más:

Respectivamente:

  • = SUMA( L2: L21)
  • = PROMEDIO( B2: K21) * Esto debe calcularse en todosdatos porque el promedio de los promedios de fila 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 la anterior.

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 Seleccionar todo( Ctrl + A o haciendo clic en la celda entre los encabezados de fila y columna) y seleccione el ícono "Estilo de coma" en el menú de Inicio.

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

  • Bold.
  • 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.

Felicidades: acaba de crear una macro de Excel.

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

Para hacer esto, seleccione todas las celdas y elimínelas.

Con los datos ahora borrados( pero las macros todavía está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 podrán ejecutarse desde allí.Alternativamente, puede guardar el archivo como un archivo de plantilla heredado( XLT), que permitirá la ejecución de macros.

Una vez que haya guardado el archivo como una plantilla, avance y cierre Excel.

Usando una macro de Excel

Antes de cubrir cómo podemos aplicar esta macro recientemente grabada, es importante cubrir algunos puntos acerca de las macros en general:

  • Las macros pueden ser maliciosas.
  • Vea el punto anterior. El código

VBA es bastante 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 solo ejecute macros desde fuentes de confianza .

Para utilizar nuestra macro de formato de datos, abra el archivo de plantilla de Excel que se creó anteriormente. Al hacer esto, suponiendo que tiene activadas las configuraciones de seguridad estándar, verá una advertencia en la parte superior del libro 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 de un archivo 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 deba establecer algunas opciones para que Excel lo interprete 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 anteriormente. Selecciónelo y haga clic en Ejecutar.

Una vez ejecutado, puede ver que el cursor salta por unos instantes, pero al hacerlo, verá los datos manipulados exactamente como mientras los grabamos. Cuando todo esté dicho y hecho, se verá igual que nuestro original, excepto con datos diferentes.

Looking Under the Hood: lo que hace que una macro funcione

Como hemos mencionado un par de veces, una macro está impulsada por el código Visual Basic for Applications( VBA).Cuando "registra" una macro, Excel está traduciendo todo lo que hace en sus respectivas instrucciones de VBA.Para decirlo simplemente, no es necesario que escriba ningún código porque Excel está escribiendo el código para usted.

Para ver el código que ejecuta nuestra macro, desde 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 grabó desde nuestras acciones al crear la macro. Por supuesto, puede editar este código o incluso crear nuevas macros por completo 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, 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 fuente, data.csv, es producido por un proceso automatizado que siempre guarda el archivo en la misma ubicación( por ejemplo, C: \ Data \ data.csv es siempre el másdatos recientes).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. Grabe una nueva macro llamada "LoadData".
  3. Con la grabación macro, importe el archivo de datos como lo haría normalmente.
  4. Una vez que se importan los datos, detenga la grabación de la macro.
  5. Borrar todos los datos de la celda( seleccionar todo y luego eliminar).
  6. Guarde la plantilla actualizada( recuerde utilizar un formato de plantilla habilitada para macros).

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

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

Descargue 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 usted juegue con ellos.

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