martes, 13 de abril de 2010

Macros. Evitar el parpadeo

Cuando grabamos una macro, puede ocurrir que durante su ejecución se produzcan parpadeos. Esto provoca que la macro se ejecuta más lentamente además de que su ejecución resulta molesta. Ocurre que la pantalla continuamente se está refrescando con la ejecución de cada instrucción que compone la macro.
Cuando grabamos una macro con la grabadora de macros, Excel graba absolutamente todo, incluyendo el golpeo por error de una tecla. En estas macros, se produce digamos, una ineficiencia, a parte de que parece que es una macro un poco basta, poco refinada. Esto hace a la macro un poco más pesada y abierta a esos parpadeos molestos.

Para evitarlo, vamos a hacer que la propiedad Application.ScreenUpdating tenga el valor FALSE, de modo que durante la ejecución de la macro no se produzcan esos parpadeos.

En primer lugar, seguiremos los siguientes pasos: Herramientas / Macro / Macros. Seleccionamos la macro que nos interesa, y pincharemos en el botón Modificar. Tecleamos lo siguiente:

'
'
'Macro a modificar
'
Sub Macro1()
Application.ScreenUpdating=False

Código de macro1

Application.ScreenUpdating=True
End Sub

Como vemos, al final del código hemos vuelto a activar Application.ScreenUpdating a true, aunque normalmente Excel lo hace automáticamente al término de la ejecución de la macro.

4 comentarios:

  1. Muchas gracias por tu publicación, me fue de gran ayuda.

    "Sencillo pero al grano"

    ResponderEliminar
  2. Y dónde se coloca: al inicio, al final...

    ResponderEliminar
  3. parpadea lo mismo alguien que ayude.. como hay que ingresarlo? se le cambaria el nombre donde dice sub y codigo? xq parpade lo mismo

    ResponderEliminar
  4. Muchas gracias por tu ayuda, me corrio el parpadeo que presentaba al ejecutar la macro.

    ResponderEliminar