Para empezar a trabajar con listas desplegables dependientes en excel de varios niveles, primero debemos de tener un rango de datos con el que vamos a aplicar listas desplegables.

Para este ejemplo usaremos el siguiente rango de datos, tal como se muestra en la siguiente imagen:

Listas desplegables dependientes en excel de varios niveles

Todos estos datos que tenemos en nuestra hoja de cálculo, lo tenemos que convertir en tablas para poder trabajar con listas desplegables.

Crear las tablas

  • Selecciona las celdas del Producto1 desde B2 hasta B4.
  • Presiona las teclas CTRL + T
  • En la ventana que aparece marca la casilla de: La tabla tiene encabezados y clic en Aceptar.
  • Automáticamente se activa la pestaña de Diseño y en la parte donde dice Nombre de la tabla escribir Producto1, tal como está escrito en el encabezado de la tabla.
  • Luego presiona la tecla Enter.
  • Repite el mismo paso para las siguientes nuevas tablas que son: Producto2, Producto3, Frutas, Vegetales, Carnes, Embutidos, Pescados y Mariscos.

Para crear las listas desplegables, crearemos 3 encabezados que tendrán por nombre: CATEGORÍA, PRODUCTOS y TIPOS. Para cada uno de los encabezados insertaremos 1 lista desplegable correspondiente.

Lista desplegable dependiente para CATEGORÍA

  • Clic en la celda I4, debajo del encabezado de CATEGORÍA.
  • Ir a la pestaña de Datos y clic en el ícono de Validación de datos.
  • En la ventana de Validación de datos, ir donde dice Permitir y hacer un clic en la lista desplegable para seleccionar Lista.
  • En la parte donde dice Origen, hacemos un clic y seleccionamos los encabezados de: Producto1, Producto2, Producto3.
  • Clic en el botón Aceptar.

Lista desplegable dependiente para PRODUCTOS

  • Clic en la celda J4, debajo del encabezado de PRODUCTOS.
  • Ir a la pestaña de Datos y clic en el ícono de Validación de datos.
  • En la ventana de Validación de datos, ir donde dice Permitir y hacer un clic en la lista desplegable para seleccionar Lista.
  • En la parte donde dice Origen escribimos la función INDIRECTO y seleccionamos la celda I4 que corresponde a la lista desplegable del encabezado de CATEGORÍA. La función debería quedar así: =INDIRECTO($I$4)
  • Clic en el botón Aceptar.

En Lista desplegable dependiente para TIPOS

  • Clic en la celda K4, debajo del encabezado de TIPOS.
  • Ir a la pestaña de Datos y clic en el ícono de Validación de datos.
  • En la ventana de Validación de datos, ir donde dice Permitir y hacer un clic en la lista desplegable para seleccionar Lista.
  • En la parte donde dice Origen escribimos la función INDIRECTO y seleccionamos la celda J4 que corresponde a la lista desplegable del encabezado de PRODUCTOS. La función debería quedar así: =INDIRECTO($J$4)
  • Clic en el botón Aceptar.

Como puedes notar las tres listas desplegables ya fueron insertadas y funcionan correctamente, pero hay un detalle fácil de notar; y es que después de seleccionar los elementos de cada una de las listas y volver a elegir un nuevo elemento de la lista, los campos de las demás listas mantienen sus datos anteriores.

Lo que intento decir es que, cuando selecciono Producto1, Vegetales y Tomate, al momento de cambiar la CATEGORÍA y elegir Producto2, las celdas de PRODUCTOS y TIPOS sus datos no se borran, se siguen mostrando Vegetales y Tomate.

Limpiar campos con código en VB

Para solucionar este problema sigue los siguientes pasos:

  • Ir a la pestaña Programador
  • Clic en el ícono de Visual Basic
  • En la ventana de Visual Basic, en el panel izquierdo de la pantalla, haz doble clic en Hoja1.
  • Copia el siguiente código:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$4" Then
Range("J4:K4") = ""
End If
End Sub

Lo que el código realizará será que, cada vez que volvamos a cambiar la CATEGORÍA ($I$4), las celdas de los campos PRODUCTOS (J4) y TIPOS (K4) se limpiarán.

Como ya habrás podido notar, trabajar con listas desplegables dependientes en excel de varios niveles, no es complicado, sigue los pasos que te describí y te será súper fácil hacerlo.

RECUERDA: Cuando se trabaja con macros en Excel, debes guardar el documento habilitado para macros.

Aquí te comparto el link de descarga de este ejemplo que acabamos de explicar, Descargar listas desplegables con macros

También te puede interesar la siguiente entrada: Cómo generar código de barras en Excel.