Está en la página 1de 7

Listas desplegables de varios niveles en Excel

Las listas desplegables de Excel son una herramienta muy sencilla de utilizar que nos
ayuda a completar datos en Excel, puedes hacer esta herramienta mucho más potente
creando listas desplegables dependientes de varios niveles en Excel. Si quieres
aprender cómo hacer una lista desplegable en Excel que dependa de otra continúa
leyendo.

Ordena los datos de los niveles


Una de las tareas más importante en la creación de listas desplegables dependientes y
que te puede ahorrar mucho tiempo es ordenar correctamente los datos a partir de los
que crearás las listas desplegables.

En este caso vamos a crear listas desplegables de varios niveles, es decir que el
segundo desplegable dependerá del valor seleccionado en el primer desplegable.

Escribe en una misma fila los valores que aparecerán en el primer desplegable y debajo
de cada uno de esos valores coloca los valores que deben aparecer en el segundo
desplegable si esa opción ha sido la elegida en el primer desplegable.
Crea tablas para las listas desplegables
El siguiente paso es convertir cada uno de los rangos de datos en tablas.

Para ello selecciona el rango con el ratón, incluido su encabezado. En la


pestaña Insertar y en la parte izquierda selecciona la opción Tabla. También puedes
utilizar el atajo de teclado CTRL+Q para crear la tabla.
Aparecerá una pequeña ventana emergente en la que debes habilitar la opción “La tabla
tiene encabezados”. Pulsa Aceptar.
Automáticamente se mostrarán las herramientas de tabla en la cinta de opciones. En
caso de que no se muestre, clica con el ratón en alguna celda de la tabla y seguidamente
selecciona la pestaña Diseño.
En la cinta de opciones de herramientas de tabla, en la parte izquierda cambia el
nombre de la tabla (por defecto aparece Tabla1) y asígnale el nombre del
encabezado de la tabla que has creado. En nuestro primer ejemplo le asignaremos el
nombre Ropa.

❗ Debes tener en cuenta que tanto para los nombres de Tablas como para los nombres

de rangos de celdas no se pueden utilizar espacios. Por lo que si uno de tus valores de
los dependerá un segundo desplegable los tiene una opción es utilizar guiones bajos.
Por ejemplo, Gafas_de_sol.
Haz lo mismo con el resto de tablas.

Aplicar nombre a un rango de celdas


Otra opción es aplicar el nombre del encabezado a un rango de celdas. En ese caso
solo tienes que seleccionar los valores de cada grupo del segundo desplegable y en el
cuadro de nombres aplicarle el nombre del primer nivel al que pertenece.

❗ La ventaja de utilizar las tablas en lugar de los nombres para un rango de celdas es

que al añadir nuevos valores en esos rangos no se actualizan automáticamente en el


desplegable y tendrías que volver a definirlo. En cambio, utilizando Tablas de Excel los
cambios se reflejan de forma automática en el desplegable.

Comprobar que los nombres son correctos


Es muy importante que los nombres asignados a las tables coincidan exactamente con
los del primer nivel para que el desplegable funcione correctamente.

Puedes comprobar los nombres en la pestaña Formulas → Administrador de


nombres.
Se abrirá una ventana en la que se muestran los nombres asignados tanto a Tablas
como a rangos de celdas en ese libro de Excel.

Puedes modificar cualquier nombre desde esa misma tabla clicando sobre el
botón Modificar.
Listas desplegables primer nivel
Como vas a comprobar la parte más sencilla es insertar los desplegables en Excel.

Clica con el ratón sobre la celda donde quieres insertar el primer desplegable. En
la pestaña Datos clica en la opción Validación de datos.

En la ventana emergente que aparece clica en el botón del primer desplegable y elige
la opción Lista.
En el apartado Origen clica en botón de la derecha y selecciona con el ratón solo los
encabezados de las tres tablas que has creado.

Haz clic en Aceptar y comprueba que el primer desplegable funciona correctamente.

Listas desplegables de varios niveles


Para conseguir que tu segundo desplegable dependa del valor seleccionado en el primer
desplegable tienes que utilizar la función INDIRECTO.

Función INDIRECTO | Devuelve una referencia especificada por un valor de texto.


Clica con el ratón sobre la celda donde quieres insertar el segundo desplegable. En
la pestaña Datos clica en la opción Validación de datos.
Elige la opción lista en el desplegable de Permitir y en el campo Origen escribe
=INDIRECTO( y selecciona la celda donde insertaste el primer desplegable. A
continuación, cierra el paréntesis.

En el ejemplo: =INDIRECTO($G$2)
La celda G2 es donde se encuentra el primer desplegable.
Haz clic en Aceptar y comprueba que los valores del segundo desplegable cambian
en función del valor seleccionado en el primer desplegable.
Listas desplegables de varios niveles: 3 o más.
Si quieres construir desplegables de 3 o más niveles solo tienes que crear un nuevo
nivel de tablas donde los encabezados deben coincidir con el nivel inmediatamente
superior del que dependen. Aplicar correctamente los nombres.

En el momento de crear el desplegable a partir del segundo nivel siempre debes


utilizar la función INDIRECTO como en el punto anterior y en Origen seleccionar
la celda del desplegable inmediatamente anterior.
Limpiar automáticamente los desplegables al cambiar el primer nivel
Por último, vamos a ver cómo hacer que tus listas desplegables de varios niveles se
vean más profesionales haciendo que al cambiar el valor del primer desplegable
automáticamente se eliminen los valores del resto de desplegables de la búsqueda
anterior.

Utilizaremos una macro muy sencilla que solo tienes que pegar en tu hoja. Este es el
código:

Mostrar la pestaña Programador


Para utilizar las macros de Excel necesitas tener visible la pestaña Programador dentro
de tu cinta de opciones.

Si no visualizas esta pestaña dentro de tu cinta de opciones debes activarla


primero. Para ello, clica con el botón derecho del ratón sobre cualquiera de las
pestañas y en el desplegable elige la opción Personalizar cinta de opciones.
En el recuadro de la derecha habilita la opción Programador o Desarrollador y
pulsa Aceptar.
Comprueba que la pestaña se ha incluido en tu cinta de opciones.

Aplica la macro
Para crear la macro:

Ve a la pestaña Programador →clica sobre la opción Visual Basic.


En la barra izquierda clica con el botón derecho del ratón sobre la hoja donde quieres
que se ejecute y elige la opción Ver código.
En la hoja que se ha abierto a la derecha pega el siguiente código:

Private Sub Worksheet_Change(ByVal Target As Range)


If Target.Address = "$I$3" Then
Range("J3:K3") = ""
End If
End Sub
Básicamente lo que hace este código es valuar si la celda donde has insertado el primer
desplegable cambia. En caso de que cambie hace que la celda del siguiente
desplegable quede vacía.

En el ejemplo:

• El primer desplegable está en la celda I3. Para personalizar el código para una
hoja nueva solo tienes que cambiar el valor $I$3 por el nombre de tu celda.
• El segundo y tercer desplegable están en las celdas J3 y K3. Por lo que deberás
cambiar el rango J3:K3 por el que corresponda. Si solo tienes un segundo
desplegable escribe únicamente el nombre de la celda. Ejemplo (“J3”).
Guarda el libro habilitado para Macros
Para que tu listas desplegables de varios niveles funcionen con la macro debes guardar
correctamente el libro de Excel.

❗ Recuerda que si utilizas la macro debes guardar el libro de Excel como un libro

habilitado para macros. En el momento de guardar despliega en tipos y escoge la opción


“Libro habilitado para macros”.

También podría gustarte