Evitar parpadeo en excel

Esta mañana me ha escrito un amiguete preguntándome si existe alguna manera para evitar que se vea lo que se está haciendo en Excel mientras una macro está corriendo, es decir, evitar parpadeo en excel. Ése parpadeo molesto que hace que te vuelvas un poco loco o pienses que el que se ha vuelto loco es el ordenador.

Este parpadeo tiene su lógica. Excel, mediante la macro, está haciendo exactamente lo que se le ha indicado. Esto significa que si cambias de hoja, excel cambie también de hoja y si vas escribiendo valores o creándolos a lo largo de la hoja, esto también se verá.

En gran medida, el arte es hacer  todo esto de manera que no se note y para eso hay una pequeña sentencia (frase en el código) que evita este parpadeo. Esta frase es la siguiente:

Application.ScreenUpdating = False

Ejemplos para evitar parpadeo en excel

En la siguiente macro no hemos añadido la frase mágica y por lo tanto, si la probáis, veréis como Excel hará exactamente lo que le habéis dicho y por lo tanto da la sensación de que parpadea.

Sub PARPADEO()

For i = 1 To 10
Sheets.Add after:=Sheets(Sheets.Count)
For j = 1 To 100
Cells(i, 1) = i
Next
Next

Sheets(1).Activate

End Sub

En la siguiente macro sí que hemos añadido nuestra frase mágica de Application.ScreenUpdating = False mediante la cual conseguiremos evitar el parpadeo de la imagen y simplemente ejecutará todo el código como “oculto”.

Sub SIN_PARPADEO()

Application.ScreenUpdating = False

For i = 1 To 10
Sheets.Add after:=Sheets(Sheets.Count)

For j = 1 To 100
Cells(i, 1) = i
Next
Next

Sheets(1).Activate

End Sub

Esto no significa que podamos realizar otra tarea en Excel mientras se ejecuta la macro pero sí que evitaremos el molesto parpadeo.

Además, esta secuencia tiene un efecto secundario super útil que es la reducción del tiempo que tarda en ejecutarse la macro.

Si quieres realizar una prueba de lo que tardaría puedes utilizar este pedacito de código:

Sub MEDIR_TIEMPO()

T = Timer

Call Nombre_macro

MsgBox Round(Timer – T, 4) & ” segundos”

End Sub

En mi ordenador, yo he realizado la prueba, y los tiempos obtenidos son uno el doble que el otro. Es decir, evitar parpadeo en Exel es una buena práctica que no cuesta nada y produce grandes beneficios.

(Visited 145.141 times, 1 visits today)
Categorías VBA

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información ACEPTAR

Aviso de cookies