Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
A better way to browse. Learn more.
A full-screen app on your home screen with push notifications, badges and more.
Este tema está ahora archivado y está cerrado a más respuestas.
Hola amigos del foro, estuve ausente un tiempo por asuntos de trabajao pero vuelvo para retomar un tema anterior del que prometí una tercera parte (y siempre debemos tratar de cumplir la palabra prometida jeje).
En aquélla ocasión explicaba cómo podemos, a partir de métodos "básicos", emular la función de la característica Validación de Datos de Excel, es decir, una lista desplegable que nos permite escoger dentro de un conjunto limitado de valores para una celda. El ejercicio es en realidad más que todo pedagógico porque si observamos bien el asunto, podríamos operar con macros para establecer el origen de la validación y así lograr un efecto similar, ... pero en fin ya estamos muy adelantados para retroceder.
En esta ocasión lo que queremos es rellenar fácilmente una tabla de competición cruzada de equipos. Los nombres de los equipos se dan en la Hoja1, agrupados en dos Divisiones o Ligas. En la segunda hoja queremos armar la tabla de juegos. Pero, y no sabría decir si en mi interés pedagógico (o en mi mala fe para complicar las cosas ... jeje), en cada partido sucede que ambos, tanto el equipo Casa como el Visitante podrían provenir de la División A o la B. Entonces, el rango de datos de la Lista Desplegable NO es fijo, sino que cambia entre las dos Ligas, según los OptionButtons situados en la parte de arriba de la hoja de Partidos.
Por lo que obligatoriamente debemos usar una macro para dinámicamente modificar el origen de datos del DropDown, según querramos elegir de la DivA o la DivB. Por lo cual modificamos ligeramente el método LOAD_Lst explicado en la parte 2 del tema (para poder pasar como segundo argumento el rango de datos a cargar) y creamos dos variantes, LOAD_DivA(), LOAD_DivB() para ser invocadas por los OptionButtons.
Así que para llenar la tabla, por ejemplo en Partido 1, supongamos que juega el equipo Casa de la DivA vs. el equipo Visitante de la DivB. Entonces nos situamos en la celda C3 y marcamos el OptionButton "DivA", luego la lista muestra sólo los equipos de la División A y escogemos el equipo. Luego vamos a la celda D3 y marcamos el OptionButton "DivB", para elegir un equipo de la División B.
Y así repetimos todo el proceso, en el ejemplo dado para el segundo partido invertí la situación, poniendo el equipo Casa de la DivB vs. el equipo Visitante de la DivA, y así sucesivamente.
Te adjunto el archivo Excel para que lo pruebes y ¡no olvides! si te gustó este tema, recompénsame con un "me gusta".
================================================================================================
P.D.- Viendo ahora el tema estoy pensando en crear una parte 4 - implementación de este mismo control usando Clases.