🔝To change the language of this blog post, choose it from the Google box at the top left.
ACTUALIZACIÓN del 20 de noviembre: Descarga abajo la versión 1.15 con los datos de la última carrera de esta temporada en Emiratos Árabes Unidos.
Se me ha ocurrido adaptar una plantilla de la interesante página de ExcelVisual, con la autorización de su autor original (enlace a Twitter), para visualizar datos de la Formula1 con un Menú 3D que simula un efecto de gamificación al seleccionar un piloto de carreras.
En un artículo anterior presenté el Menú 3D en su versión original y le di todo el crédito a su autor:
Ahora verás cómo he creado este nuevo Menú 3D de Formula1 en Excel, con el siguiente aspecto visual:
El resultado se aprecia mejor en este vídeo con datos de la Formula1:
Para tratar de hacer que este Menú 3D sea más fácil de usar, he modificado las hojas originales:
- Traduciendo todo al inglés. En la versión original había una mezcla de inglés y ruso.
- Eliminando datos del Menú 3D de la hoja 'DASHBOARD' y conteniendo únicamente objetos visuales, con lo que se ha separado la capa de presentación visual (frontend - interfaz de usuario) de la capa de acceso a datos (backend - procesamiento de datos).
- Añadiendo un nuevo dato a la hoja 'DASHBOARD' para modificar la velocidad (Speed) de rotación del Menú 3D, de 1 (mínima) a 7 (máxima).
- Consolidando todos los datos del Menú 3D en la hoja 'MENU', incluidos los que había en la hoja 'Processing'.
- Protegiendo todas las hojas sin contraseña.
- Eliminando el mapa de calor de USA, hecho con tantas formas como estados USA.
- Añadiendo un gráfico de mapa coroplético, fácilmente programable para visualizar todos los países del mundo, aunque solamente está incluido en las versiones recientes de Excel 2019, Excel 2021 y Excel para Microsoft 365.
- Usando la herramienta de cámara de Excel para incrustar los datos de los equipos y los pilotos de Formula1.
- Insertando un gráfico de línea de tiempo (timeline chart) para visualizar los ganadores de las carreras de Formula1.
- Creando unos cuantos nombres definidos para las celdas y los rangos de la hoja 'MENU':
He adaptado las hojas para visualizar datos de la Formula1.
Hoja 'DASHBOARD': Contiene todos los elementos visuales.
- FORMULA1 3D MENU: Con los 5 pilotos de Formula1 y la posibilidad de visualizarlos todos a la vez. Además con el nuevo cambio de velocidad: Speed, con 7 velocidades: de x1 a x7.
- TEAMS: Con 3 equipos de Formula1 mediante captura de cámara que, al ser muy lenta de refresco, obliga a ocultarla durante el efecto carrusel.
- DRIVERS: Con 5 pilotos de Formula1 mediante captura de cámara que, al ser muy lenta de refresco, obliga a ocultarla durante el efecto carrusel.
- COUNTRIES: Con los países de los pilotos mediante segmentación de datos de países y de grupos de países por: Driver; Team; Win1; Win2; Win3, con los países donde han ganado carreras los 3 primeros pilotos.
- MAP: Con un mapa coroplético automático, visualizando solo regiones con datos y mostrando todas las etiquetas.
- RACES: Con un gráfico de línea de tiempo con las carreras de Formula1 celebradas en 2022, pudiendo seleccionar por fecha de las carreras con una segmentación de datos.
Hoja 'MENU' con los datos del Menú 3D:
- Posición: myPosStart en la celda B2 y myPosEnd en la celda B3.
- My drive: valor del piloto seleccionado con myMenu en la celda B4.
- New: identifica al nuevo piloto con myMenuNew en la celda B5.
- Old: identifica al viejo piloto con myMenuOld en la celda B11.
- Drivers: Los 5 pilotos en el rango B6:B10.
- Width: Columna C con el ancho de las imágenes de cada piloto cuando gira el Menú 3D.
- Height: Columna D con el alto de las imágenes de cada piloto cuando gira el Menú 3D.
- Keys: Columna E con las claves del movimiento de las imágenes cuando gira el Menú 3D.
- Opt Pos: Columna F con la posición de las 5 imágenes de los pilotos.
- P1 a P5: Posición de las imágenes en el rango F2:K6.
- L1 a L5: Bucles de las imágenes en el rango L2:P5.
Hoja 'MALL' con datos e imágenes de los 5 pilotos y sus equipos.
Hojas 'M1' a 'M5' con datos e imágenes de cada piloto y su equipo.
Hoja 'MAP' con la tabla de países filtrada por el piloto elegido, por ejemplo M1 para Carlos Sainz.
- Country: País.
- Group: con el grupo del país del piloto (Driver), del equipo (Team) y de los 3 primeros premios de las carreras (Win1, Win2, Win3).
- Driver: con la identificación de los pilotos de M1 a M5.
Hoja 'RACES' con las carreras filtradas por fecha y piloto.
- Date: Fecha de la carrera.
- Race: Ciudad del circuito de carreras.
- Winner: Posición en el pódium de los ganadores de cada carrera, debiendo editar un 3 para el primero; un 2 para el segundo y un 1 para el tercero.
- Driver: con la identificación de los pilotos de M1 a M5.
- Name: nombre del piloto.
He intentado mejorar las macros VBA del modelo original de ExcelVisual:
- Añadiendo indentación en las macros para que sean más fáciles de leer.
- Añadiendo información de cada macro, como autor original y fecha de último cambio.
- Simplificando las macros con nombres definidos y usando la instrucción With.
- Referenciando rangos de la hoja 'MENU'.
- Separando las macros del Menú 3D del resto de macros.
- Retrasando la ejecución de los bucles durante el movimiento con efecto carrusel.
Las macros que mueven el Menú 3D y lo hacen interactivo son las siguientes en cada módulo:
Module1_Optmenu: con la macro que selecciona al piloto.
- Optmenu: Obtiene el piloto elegido con la propiedad Application.Caller, que devuelve el nombre del objeto seleccionado, en este caso la imagen de un piloto en el Menú 3D.
Module2_CircularMotion: Con las macros que producen el efecto carrusel.
- CircularMotionMenu: Bucle para girar el Menú 3D en el sentido de las agujas del reloj.
- ChangeSpeed: Función para obtener el cambio de velocidades de rotación del carrusel.
- WaitDelay: Macro para retardar la ejecución del movimiento circular, cediendo la ejecución a otros procesos del sistema operativo mediante la función DoEvents.
- Incluye 3 constantes necesarias para el movimiento circular del Menú 3D.
Module3_Transformer: Con las macros que transforman el carrusel en todos los pilotos o en un piloto.
- TransformerMenu: Transforma el Menú 3D para visualizar a todos los pilotos.
- UntransformerMenu: Transforma el Menú 3D para visualizar a un único piloto.
Module4_Formula1: Con las macros que visualizan los datos de los pilotos de Formula1.
- VisualF1: Lanza las macros de los pilotos.
- ChangeCameras: Macro para cambiar las herramientas de cámara de Excel.
- ChangeMap: Macro para filtrar la tabla de países que se verán en el gráfico de mapa coroplético.
- ChangeRaces: Macro para filtrar el gráfico de línea de tiempo con las carreras de Formula1. Observa como consigo crear un pódium con los 3 pilotos ganadores de cada carrera. Los valores del campo Winner en la tabla son: 3, 2 y 1 para que en el gráfico tenga más altura el piloto ganador. Se convierten en los puestos 1, 2 y 3 gracias a un formato de celdas de número personalizado del tipo: [>2]1;[<2]3;0
- ProtectSheet: Macro para proteger una hoja.
- UnprotectSheet: Macro para desproteger una hoja.
ACTUALIZADO: 2022-11-21 con la última carrera de esta temporada el 20 de noviembre en Emiratos Árabes Unidos.
Puedes descargar este nuevo Menú 3D con datos de 5 pilotos de Formula1 v1.14 desde estos enlaces:
- Microsoft OneDrive: Formula1 3D Menu Excel - PW1.xlsm
- Sites Google Drive: Formula1 3D Menu Excel - PW1.xlsm
Abre la plantilla con una versión de Excel de escritorio igual o superior a Excel 2019 y presiona el botón: Habilitar edición
Aparece RIESGO DE SEGURIDAD Microsoft ha bloqueado la ejecución de macros porque el origen de este archivo no es de confianza. Con un botón: Obtener más información
Para desbloquear el archivo se debe abrir el Explorador de archivos y hacer clic con el botón derecho del ratón sobre el archivo, seleccionando Propiedades.
Marcar la casilla: Desbloquear y hacer clic en el botón: Aplicar
Abrir el archivo de nuevo, apareciendo una ADVERTENCIA DE SEGURIDAD: Las macros se han deshabilitado. Presiona el botón: Habilitar contenido
Esta plantilla contiene macros y no está protegida, por lo que se pueden estudiar y analizar las fórmulas y el código VBA.
Si te gusta, gracias por tus comentarios y por compartir este artículo en tus redes de entusiastas de Excel.