En nuestros trabajos podemos llegar a necesitar imprimir a la vez muchos archivos de Excel, con varias hojas cada uno, con la tediosa tarea de imprimirlos uno a uno. Afortunadamente existen las macros, y éste es un ejemplo de una sencilla de una Macro Excel para imprimir muchos archivos a la vez.
Esta macro se aloja en un archivo oculto de excel llamada Personal.xls. Este archivo viene por defecto en cualquier instalación de Excel, permitiendo realizar acciones sobre todos los archivos que podamos tener abiertos en una sesión de trabajo.
Esta es una macro muy sencilla, pero bastante útil para evitarnos tareas repetitivas:
Sub imprima() ' Macro para imprimir todos los archivos abiertos en Excel Dim pregunta As Integer Dim n As Integer If Not ActiveWindow Is Nothing Then pregunta = MsgBox("¿Desea Imprimir todas las hojas de todos los libros?", vbQuestion Or vbYesNo, "Imprimir todo") If pregunta = 6 Then For n = 1 To Windows.Count If (UCase(Windows(n).Caption) <> "PERSONAL.XLS") Then Windows(n).Activate ActiveWorkbook.PrintOut Copies:=1, Collate:=True End If Next End If End If End Sub
Una vez instalada en el archivo Personal.xls, podemos llamarla por medio de alguna combinación de teclas como CTRL + SHIFT + P, o con un botón en la primera hoja de este archivo.
En resumen, esta macro Excel para imprimir, se encarga de recorrer todos los archivos abiertos, uno a uno, excepto el archivo de macros Personal.xls, y para cada uno de ellos envía una copia de todas las hojas a la impresora predeterminada.
También te puede interesar leer Encontrar datos repetidos en una tabla de Excel o de una base de datos
Esta macro Excel para imprimir puede ser modificada no sólo para este propósito, el hecho de recorrer todos los archivos abiertos, permite hacer otras automatizaciones sobre muchos archivos a la vez, lo que nos permite mejorar la eficiencia en nuestras actividades, por ejemplo en la búsqueda de datos en muchos archivos a la vez.
Si deseas mayor información de cómo hacer este tipo de tareas con macros visítanos en ITSoftware.com.co