Animación en Excel - Imagen destacada
Animación de un rótulo

En esta entrada explico como realizar animaciones sencillas en Excel a través de retardos programados en Visual Basic para Aplicaciones (VBA) Como ejemplo para la práctica, creo un rótulo que hago que aparezca palabra por palabra en la pantalla, seguido de una variación de colores del fondo del rótulo.

Puedes ver el proceso de creación de esta animación en el siguiente vídeo de YouTube:

Tutorial de Excel sobre Rótulos Animados

Retardos

Para crear un retardo en VBA, usaré el siguiente procedimiento:

Sub retardo(segundos As Double)
  tiempo_inicial = Timer

  Do
   DoEvents
  Loop While (Timer - tiempo_inicial) < segundos

End Sub

Es un procedimiento que recibe como parámetro una cantidad de segundos a través de una variable Double y como resultado la ejecución del programa se pausa durante esa cantidad de segundos. Por ejemplo para hacer una pausa de medio segundo se hará la siguiente llamada al procedimiento:

retardo(0.5)

Lo primero que hace el procedimiento es recoger «la hora» actual, almacenándola en una variable llamada tiempo_inicial, y a continuación ejecuta un bucle Do – Loop While que va chequeando la nueva hora continuamente, y que se repite mientras que el tiempo que haya pasado no alcance los segundos pasados como parámetro.

El resultado es que el bucle no para de iterar hasta que no pasen los segundos deseados. Durante la ejecución de este bucle, se usa la instrucción DoEvents para que Excel no quede completamente bloqueado y pueda recoger eventos, permitiendo así al usuario interactuar con Excel aunque el bucle esté aún repitiéndose.

Animaciones y Retardos

Se pueden usar los retardos para crear animaciones. La idea es sencilla. Se muestra algo en pantalla y a continuación se ejecuta un retardo, antes de cambiar lo que se está mostrando en pantalla. El tiempo de espera del retardo determinará la velocidad de la animación, haciendo que los cambios en la pantalla sean más rápidos o lentos.

Como ejemplo en la práctica, se muestra el texto «Animaciones en Excel», haciendo que cada palabra aparezca después de una espera de medio segundo. A continuación, se modifica el contenido de una celda que controla la posición de una serie de colores aplicados a través de formatos condicionales. Cada cambio de posición de color se realiza tras un retardo, produciendo también un efecto animado.

Repetición de animaciones

Una animación tiene un comienzo y final, pero gracias al uso de estructuras repetitivas For o While se puede conseguir que la animación continúe indefinidamente. O bien hasta que se produzca algún cambio en la hoja como por ejemplo la pulsación de un botón.

Control de la animación a través de botones

Descarga del ejemplo

Puedes descargarte la práctica de Excel en el siguiente enlace:

Descarga de la práctica de animación

Te animo a que pruebes a modificar el código cambiando los retardos, la distribución de colores o las palabras del rótulo para así probar las distintas posibilidades de las animaciones en Excel.

Puedes encontrar más juegos en mesagames.es y más recursos formativos en ejerciciosmesa.com