Está en la página 1de 2

Evitar parpadeo en Excel

En Excel mientras una macro está corriendo, es decir, evitar parpadeo en Excel. Ese 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.

Ejemplos de uso de ScreenUpdating


En el primer ejemplo que brindo, se tienen las Ventas mensuales de los últimos 15
años, en la cual se realiza con la opción Application.ScreenUpdating = False.
El otro ejemplo son las notas de los cuatro trimestres del año, con un promedio final
por alumno. En el último caso se utiliza Application.ScreenUpdating = True, lo cual nos
llevará a percibir mejor la diferencia entre los ejemplos adjuntados.

También podría gustarte