KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo crear listas desplegables dinámicas en cascada en Excel?

AutoraSiluvia Fecha de modificación

Es posible que ya sepas cómo crear una lista desplegable de validación en cascada en Excel. Pero, ¿cómo crear cuadros de lista dinámicos en cascada en Excel? Este artículo presenta un método con VBA para lograrlo.

Crear cuadros de lista dinámicos en cascada con código VBA


Crear cuadros de lista dinámicos en cascada con código VBA

Como se muestra en la siguiente captura de pantalla, debe crear un cuadro de lista principal con los valores únicos de la columna *Bebida* y, según la selección realizada en este cuadro, mostrar todos los valores correspondientes en el segundo cuadro de lista. El siguiente código VBA le ayudará a lograrlo. Siga estos pasos.

cuadros de lista dinámicos en cascada

1. En primer lugar, extraiga todos los valores únicos de la columna Bebida. Seleccione una celda en blanco e introduzca la fórmula matricial =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),«») en la Barra de fórmulas y, a continuación, pulse las teclas Ctrl + Mayús + Intro. Después, arrastre el controlador de relleno para obtener todos los valores únicos. Vea la captura de pantalla:

listar todos los valores únicos con fórmula

Nota: En la fórmula, $A$2:$A$11 es el rango del que se extraerán los valores únicos. J1 es la celda situada justo encima de donde se introduce la fórmula.

Consejo: Si la fórmula resulta demasiado difícil de recordar y utilizar, la utilidad Seleccionar Celdas Duplicadas/Únicas de Kutools para Excel será una excelente opción para extraer rápidamente todos los valores únicos de una columna.

Seleccione la columna de la que desea extraer los valores únicos. A continuación, active la utilidad haciendo clic en Kutools > Seleccionar > Seleccionar Celdas Duplicadas/Únicas. En el cuadro de diálogo Seleccionar Celdas Duplicadas/Únicas, seleccione la opción Valores Únicos (Incluir el primer duplicado) y haga clic en el botón Aceptar. Así se seleccionarán todos los valores únicos de la columna. ¡Cópielos y péguelos en un lugar nuevo! Vea la captura de pantalla:

seleccionar valores únicos con Kutools

Kutools para Excel: con más de 200 complementos útiles para Excel, pruébelos gratis sin limitaciones durante 60 días.¡Descargue y pruebe gratis ahora!

2. Inserte dos cuadros de lista por separado haciendo clic en Programador > Insertar > Cuadro de lista (control ActiveX). Vea la captura de pantalla:

hacer clic en Cuadro de lista en la pestaña Programador

3. Haga clic con el botón derecho en el cuadro de lista principal y seleccione Propiedades en el menú contextual. En el cuadro de diálogo Propiedades, cambie el campo (Nombre) a Bebida u otro nombre según sus necesidades, introduzca en el campo RangoDeRellenoDeLista el rango de celdas que contiene los valores únicos extraídos y cierre el cuadro de diálogo.

especificar las opciones en el panel Propiedades

4. Repita el paso 3 para cambiar el campo (Nombre) del segundo cuadro de lista a Artículo en el cuadro de diálogo Propiedades.

5. Haga clic con el botón derecho en la pestaña de la hoja y seleccione Ver código en el menú contextual. A continuación, copie el siguiente código VBA en la ventana de código. Vea la captura de pantalla:

Código VBA: Crear cuadros de lista dinámicos en cascada en Excel

Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
    Dim I, xRows As Long
    Dim xRg As Range
    Dim xRegStr As String
    Application.ScreenUpdating = False
    xRegStr = Me.Drink.Text
    Set xRg = Range("A2:A11")
    xRows = xRg.Rows.Count
    If xRegStr <> xPreStr Then
    Me.Item.Clear
   'Me.OtherListBoxName.Clear
    Set xRg = xRg(1)
    For I = 1 To xRows
        If xRg.Offset(I - 1).Value = xRegStr Then
            Me.Item.AddItem xRg.Offset(I - 1, 1).Value
            'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
        End If
    Next
    xPreStr = xRegStr
    End If
    Application.ScreenUpdating = True
End Sub

Notas: En el código, Bebida y Artículo son los nombres de las dos listas desplegables; cámbielos por los suyos propios.

hacer clic en Ver código para pegar el código en el módulo

6. Pulse las teclas Alt + Q para cerrar la ventana de Microsoft Visual Basic para Aplicaciones.

7. Desactive el modo Diseño haciendo clic en Programador > Modo diseño.

A partir de ahora, al seleccionar cualquier tipo de bebida, como Café, en el cuadro de lista principal, todos los artículos de café aparecerán automáticamente en el segundo. Si elige Té o Vino, únicamente se mostrarán los artículos correspondientes en el segundo cuadro de lista. Vea la captura de pantalla:

se han creado cuadros de lista dinámicos en cascada



Artículos relacionados:

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...


Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos