Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
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
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.