Lo prometido es deuda, y aunque he
andado algo liado este verano hago esta entrada para cumplir con lo que os
comenté en la entrada Simulación, movimiento e impacto en Excel, un simple ejemplo de cómo
mostrar movimiento con Excel. No es la forma que indicaba en la entrada, pero
sí la más sencilla para mostrar un movimiento. Insisto es una entrada referida a una curiosidad (una
pequeña frivolité), por eso está dentro de la categoría de Exceltricidades.
No hay entrada de estricta aplicación administrativa hoy.
Haciendo una excepción sobre mi política
de no introducir entradas sobre código VBA cuando aún quedan muchísimas cosas
que contar sobre el propio Excel, indicaré las dos Subrutinas necesarias. Una sale
prácticamente tal cual de la grabación de una macro con el grabador.
En primer lugar construiremos el rótulo
que queremos desplazar. En este caso como va a subir de abajo a arriba, lo construyo
a partir de la fila 59.
La
sensación de movimiento la conseguimos simplemente sucediendo eliminaciones de
rangos de celdas, en este caso el rango D2:CL2, que cubre la longitud más larga
del rótulo. La macro que elimina ese rango es:
Veréis que si grabáis con el grabador
una macro que seleccione el rango y elimine las celdas subiendo las demás hacia
arriba para ocupar el hueco, obtenéis una macro prácticamente igual que esta. Simplemente
he eliminado la parte que selecciona el rango.
Ahora basta con repetir muchas veces esa
macro, para ello utilizamos la siguiente subrutina. Básicamente es un bucle que
repite tantas veces como le indiquemos lo que programemos dentro del mismo.
Esta rutina es muy fácil, es lo mismo (pero infinitamente más eficiente) que repetir entre Sub y End Sub 200 veces Macro1.
Ahora simplemente coloco un botón de
comando a la derecha de la página (fuera del área que va a ocupar el rótulo) y
le asigno la Macro “Letsmove” para iniciar el movimiento del rótulo cuando
ejecutemos el botón de comando.
La calidad del vídeo no es la mejor pero
es suficiente para mostrar la idea de movimiento en Excel. Como he dicho antes
no es la forma en la que movería los marcianos en caso de querer hacer una
simulación de máquina recreativa, es simplemente la manera más fácil de hacer
una marquesina que nos muestre un efecto de movimiento en Excel. A partir de
aquí los más inquietos podréis intentar hacer algo más sofisticado, hay mucho
margen…
Por ejemplo que se repita indefinidamente el rótulo...
¿Repitiendo el rótulo una y otra vez abajo hasta la celda 20.000 y que N llegue hasta ese número?... No, claro que no!. Basta con pegar el rango que cortamos en un rango por debajo del final del rótulo original dentro de la Macro1. A medida que desaparece por arriba, se va construyendo por abajo.
Estas pequeñas trivialidades en principio parecen no servir de mucho, pero como todo en la vida, nunca se sabe dónde o de qué modo vamos a poder aplicarlas. Esto me recuerda lo que comenta Steve Jobs sobre la caligrafía en el vídeo de la derecha...
Por cierto, estoy terminando una nueva aplicación para practicar inglés. En breve la colgaré en Xcl NT docs.