Hola a todos! Bienvenidos a SaberProgramas! En este tutorial os voy a mostrar de forma sencilla cómo crearlistas desplegables dependientes de otra lista. Como veis en esta lista deselección tengo un primer apartado que es el tipo en el que si desplegamospodemos elegir entre ropa calzado y accesorios si elegimos por ejemplo ropanos aparecerán en el siguiente desplegable los artículos que pertenecena este tipo que son exactamente los que aparecen en esta lista de aquí. Vamos acomprobarlo que al desplegar nos aparecen los mismos artículos queaparecen en esa lista podríamos elegir cualquiera de ellos en cambio sicambiamos a calzado vemos que los artículos que nos aparecen en eldesplegable han cambiado por los asignados a este tipo no sólo veremoslistas desplegables de dos niveles también nos mostraré cómo crear listasdesplegables de tres o más niveles en este caso hemos añadido un nivel más ytenemos tipo en el que podemos elegir entre los tres primeros que teníamos elartículo que también podemos elegir y un tercer desplegable que es ello que podemos elegir entre todos los que hemos asignado del mismo modopodríamos seguir añadiendo diferentes niveles si os gustan nuestros tutorialesno olvidéis suscribiros a nuestro canal y clicar en la campanita para estar aldía de todos los nuevos tutoriales que vamos subiendoen primer lugar debéis ordenar los datos que queréis que aparezcan en cada una delas listas desplegables lo orden haremos de la siguiente forma en una misma filavamos a colocar los nombres que deben aparecer en el primer listado que ennuestro caso va a ser ropa calzado y accesorios y debajo de cada uno de ellosvamos a incluir los artículos que corresponden a ese tipo en este caso yalo tenemos ordenado así que el siguiente paso será convertir cada uno de estosrangos de datos en tablas en un tutorial anterior ya expliqué la diferencia entrelas tablas y los rangos de celdas os dejaré el enlace en la parte superiorderecha seleccionamos el primer rango de datos nos vamos a la pestaña insertarseleccionamos la opción tabla y nos aparece esta ventana tenéis que tenerhabilitada la opción la tabla tiene encabezados hacemos clic en aceptarvamos a cambiarle el formato como lo tenía anteriormente y vamos a darle unnombre a la tabla este nombre debe corresponder exactamente con elencabezado que al primer nivel que es el tipo entoncesvamos a denominar la ropa y ya tendríamos creada nuestra primeratabla vamos a hacer lo mismo en el segundo caso pulsamos control que paracrear directamente la tabla aceptamos y cambiamos su nombre a calzado en el último caso voy a seleccionarúnicamente lo que son los artículos y voy a aplicarles un nombre esto lo hagosimplemente para mostraros la diferencia entre convertir todo el rango en unatabla y aplicar un nombre a estos elementos en principio funciona igualpero os quiero mostrar que al convertirlo en una tabla podemosactualizar el rango automáticamente sin tener que cambiarlo manualmente leseleccionamos todos los artículos nos vamos a esta celda del cuadro de nombresy escribimos accesoriosya tendríamos asignados todos los nombres para comprobarlo nos vamos a lapestaña fórmulas y hacemos clic en administrador de nombres nos aparecenropa calzado y accesorios y como veis el icono de accesorios es diferente al decalzado y ropa ya que calzado y ropa son tablas y en el caso de accesorios hemosestablecido el nombre para un rango de celdascerramos esta ventana a continuación colocamos el cursor del ratón en lacelda donde queremos insertar la primera lista desplegable vamos a la pestañadatos y clicamos sobre validación de datos nos aparece esta ventana solotenemos que desplegar aquí donde dice permitir y seleccionar la opción listael origen que vamos a seleccionar van a ser los encabezados de estos tres rangosde datos que hemos insertado entonces seleccionamos todo el rango hacemos clicen aceptar y ya tendríamos nuestro primer desplegable que funcionacorrectamente a continuación para insertar el segundo desplegable vamos autilizar la función indirecto que devuelve una referencia especificada porun valor de texto nos colocamos en la celda donde queremos insertar el segundodesplegable dependiente del primero y en la pestaña de datos hacemos clic envalidación de datos elegimos de nuevo lista y en origenvamos a escribir igual indirecto abrimos paréntesisseleccionamos la celda donde se muestra el primer desplegable cerramos elparéntesis y hacemos clic en aceptar entonces en este caso tenemos accesoriosy desplegamos vemos que nos aparece bisutería bolsos cinturones fulares ygafas de sol y sombreros como en el caso de esta lista podemos elegir cualquierade ellos pero sí en cambio cambiamos a ropa vemos que el desplegable que nosaparece en artículo cambia y nos muestra los artículos de este segundo tipoahora os voy a mostrar la diferencia entre utilizar nombres para un rango deceldas o utilizar tablas vamos a incluir un artículo más en los accesorios eneste caso lo que hicimos es aplicar un nombre al rango de celdas y vamos aincluir por ejemplo carterasya lo tenemos aquí pero si elegimos tipo accesorios y el artículo desplegamosvemos que no nos aparece carteras pero por ejemplo si añadimos las carteras enropa o calzado vemos que automáticamente se ha añadidoa nuestra tabla y si desplegamos teniendo en el primer tipo ropa ybajamos hacia abajo vemos que aparece automáticamente el artículo carteras queacabamos de incluir es por esto que yo recomiendo siempre convertir estosrangos en tablas para que se actualicen de forma automática y no tengamos quemodificar los nombres para dejarlo correctamente voy a deshacer voy aeliminar de aquí carteras y de la otra zona también nos vamos a fórmulasadministrador de nombres y vamos a borrar este nombre de accesorios porquesi no lo borramos no nos va a dejar utilizarlo para una tabla hacemos clicen eliminar aceptamos seleccionamos el rango pulsamos control q lo convertimosen una tabla le aplicamos el formato y le damos el nombrede accesorios y si ahora en este caso añadimos el artículo carteras vemos que automáticamente aparece en elartículo tengo que comentaros algo acerca de losnombres tanto para las tablas como para los nombres que asignamos a los rangosde celdas y es que no se permite introducir espacios por lo que siquisiéramos escribir por ejemplo gafas de soltendríamos que escribirlo de esta forma para que excel nos dejara asignar esenombre a una tabla o un rango de celdas en este segundo ejemplo vamos a ver cómocrear una lista desplegable dependiente de tres o más nivelesya tenemos las tres tablas del primer ejemplo creadas y lo que vamos a haceres añadir un tercer nivel pero únicamente para los dos primerosartículos de cada uno de estos tres primeros tipos porque si no seríademasiado extenso por lo que hemos creado aquí seis nuevos rangos de datosen el que tenemos abrigos y chaquetas que serían los datos que dependerían deestos dos artículos de ropa botas y deportivas que dependerían de calzado asu vez y bisutería y bolsos que dependerían de accesorios en el primernivel entonces al igual que en el casoanterior tenemos que convertir estos rangos de celdas en tablas por lo queseleccionaremos uno a uno cada uno de ellos y les vamos a asignar el nombredel que dependerá en el segundo desplegable que es el artículo es decirel que hemos colocado aquí en el encabezado entonces seleccionamospulsamos control q y le aplicamos el nombre que hemosestablecido que coincida exactamente igual con el que va a aparecer en elsegundo desplegable hacemos lo mismo con los cinco rangos deceldas restantes debéis de prestar especial atención enel momento de asignar los nombres a las tablas ya que deben coincidirexactamente con los nombres que aparecerán en el desplegable anteriorcuando ya tengáis todas las tablas creadas y los nombres asignados nosvamos a la celda donde vamos a insertar el primer desplegable y en datosseleccionamos validación de datos elegimos lista e igual que en el casoanterior en este primer caso vamos a seleccionar los encabezados de lasprimeras tablas hacemos clic en aceptar y vemos que aparecen correctamente en elsegundo caso vamos de nuevo a validación de datoslista y en origen utilizamos la función indirectoabrimos paréntesis y seleccionamos la celda donde aparece la primerareferencia que será el tipo cerramos el paréntesis hacemos clic en aceptary vemos que en este segundo caso también nos aparecen los artículos y por últimoen el tercer caso del mismo modo vamos a validación de datoselegimos lista y de nuevo utilizamos la función indirecto pero en este casoseleccionamos la celda de la que va a depender que va a ser la celda donde seencuentra el artículo seleccionamos la celda observad que aparece fijada estolo vemos por los símbolos de dólar que aparecen antes de la jota y el 3cerramos el paréntesis y aceptamos y como vemos aquí aparece de nuevopodríamos incluir tantos niveles como quisiéramos simplemente tendremos que irconstruyendo las tablas por ejemplo podríamos hacer un nuevo desplegablepara parcas y que hubiera parcas de invierno y de verano pues haríamos otratabla en la que el encabezado sería marcas y tendría otras dos opciones y elnombre que asignaremos a esta tabla sería marcas que coincidiría exactamenteigual con lo que estamos utilizando también podemos establecer un formatodiferente para cada uno de los en este caso vamos a centrar los tresniveles y por ejemplo si el primer nivel queremos que esté en negrita simplementetenemos que dar formato a la celda en el segundo caso podríamos asignarle uncolor diferente y en el tercero otro más para identificarlo con los colores delas tablas donde tenemos los datos al cambiar el primer nivel vemos que en lossiguientes dos niveles se mantienen la búsqueda anterior lo que queremos haceres cómo os mostré en la hoja del principio que cada vez que cambiemos elprimer nivel automáticamente se borre el artículo yel modelo que teníamos preestablecido de la búsqueda anterior lo vamos a hacerutilizando una macro muy sencilla en la pestaña programador hacemos clic envisual basic elegimos nuestra hoja 2 clicamos con el botón derecho del ratónclikar sobre ver código y pegamos el siguiente código este código os lodejaré en nuestra página web recordad que tenéis el enlace en la descripcióndel vídeo básicamente lo que hace esta macro esque cuando el valor de la celda y 3 que sería la que corresponde al primer nivelcambie entonces el rango jota 3 k 3 que serían los siguientes 2 desplegables sequeden vacíos cerramos nuestra hoja de macros y vamos a comprobar que funcionavamos a cambiar aquí a calzado y vemos que automáticamente desaparece elartículo que había y el modelo y si cambiamos de nuevo vemos queautomáticamente se limpia para hacer esto mismo en el primer ejemplo nosvamos a la pestaña programador clicamos en visual basic elegimos la hoja 1 quetiene el desplegable dos niveles y en el códigopegamos el código pero en este caso vamos a borrar el catch 3 del rangoporque no existe y vamos a dejar únicamente la celda j 3 que es la quecontiene el artículo cerramos y vamos a comprobar que funciona correctamentevemos que al cambiar el tipo automáticamente se borra el artículo ysi cambiamos de nuevo se vuelve a borrar recordad que si utilizáis la macro paraque se borren el artículo y el modelo cuando cambiemos el tipo de veis guardareste libro como un libro habilitado para macros espero que os haya sido útil sies así dadle a me gusta y suscribiros a nuestro canal para estar al día de todaslas novedades recordad que tenéis información adicional las plantillas yel código que he utilizado en el post de nuestra página web