Pantalla de fondo al ejecutar una Macro en Excel

Estoy realizando un macro el cual realiza una serie de operaciones (abre varias hojas, copia celdas, abre otros archivos, etc), son bastantes transacciones, y mientras corre el macro se puede apreciar en la pantalla todas estas transacciones, quisiera de alguna forma insertar un comando en mi macro que no permita que se presenten en pantalla todas esta transacciones, por ejemplo fijando un fondo o minimizando excel mientras se ejecuta el macro y al terminar maximizarlo.
1

1 Respuesta

540.900 pts. Por falta de tiempo para responder como me gusta...
Lunes y acabo de ver tu pregunta.
Creo que lo que buscas es:
Application.ScreenUpdating = False
Usualmente, utilizo este comando para impedir que MS Excel mustre lo que estoy haciendo y -además- para acelerar los procesos internos
Ya que no debe re-dibujar la pantalla en cada oportunidad.
En algunas versiones de VBA no es necesario revertirla pues lo hace automáticamente al terminar una rutina. Sin embargo, por costumbre, agrego al final -o donde quiera mostrar resultados- esta sentencia:
Application.ScreenUpdating = True
Para evitar que el usuario crea que se le colgó la PC, antes de "congelar" lo llevo a una hoja con un mensaje de espera o muestro un mensaje en la barra de estado, de esta manera:
Application.StatusBar = "Un momento, por favor, estoy procesando..."
Application.ScreenUpdating = False
...
<tu proceso>
...
Application.ScreenUpdating = True
Application.StatusBar = False
De todos modos, si lo que realmente quieres, es minimizar la ventana durante el proceso, estas serían tus líneas de código:
ActiveWindow.WindowState = xlMinimized
...
<tu proceso>
...
Windows("TodoExp.xls").Activate
ActiveWindow.WindowState = xlMaximized
Esto debería resolver tu pregunta. Si así fuera, agradeceré un comentario y que la finalices.
Si no, pregúntame de nuevo.
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas