Skip to main content

¿Cómo crear cuadros de lista en cascada dinámicos en Excel?

Author: Siluvia Last Modified: 2025-06-04

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

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


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

Como se muestra en la captura de pantalla a continuación, necesitas crear un cuadro de lista principal que contenga los valores únicos de la columna Bebida y mostrar todos los valores correspondientes en el segundo cuadro de lista según la selección en el cuadro de lista principal. El siguiente código VBA te ayudará a lograrlo. Por favor, sigue los siguientes pasos.

dynamic cascading list boxes

1. Primero, necesitas extraer todos los valores únicos de la columna Bebida. Selecciona una celda en blanco, ingresa la fórmula matricial =SI.ERROR(INDICE($A$2:$A$11; COINCIDIR(0;CONTAR.SI($J$1:J1; $A$2:$A$11); 0));"") en la Barra de fórmulas, y luego presiona las teclas Ctrl + Shift + Enter. Luego arrastra el Controlador de relleno para obtener todos los valores únicos. Ver captura de pantalla:

list all unique values with formula

Nota: En la fórmula, $A$2:$A$11 es el rango del cual extraerás valores únicos. J1 es la celda encima de donde está ubicada tu fórmula.

Consejo: Si la fórmula es demasiado difícil de recordar y manejar, la utilidad Seleccionar Duplicados y Celdas Únicas de Kutools para Excel será una buena opción para ti para extraer rápidamente todos los valores únicos de una columna.

Por favor, selecciona la columna que contiene los valores únicos que deseas extraer. Luego habilita la utilidad haciendo clic en Kutools > Seleccionar > Seleccionar Duplicados y Celdas Únicas. En el cuadro de diálogo Seleccionar Duplicados y Celdas Únicas, selecciona la opción Valores Únicos (Incluir el primer duplicado) y haz clic en el botón Aceptar. Luego todos los valores únicos serán seleccionados en la columna. Copia y pega en un nuevo lugar. Ver captura de pantalla:

select unique values with kutools

Kutools para Excel: con más de 200 complementos útiles para Excel, prueba gratuita sin limitaciones durante 60 días. ¡Descarga y prueba gratis ahora!

2. Inserta dos cuadros de lista por separado haciendo clic en Desarrollador > Insertar > Cuadro de Lista (Control ActiveX). Ver captura de pantalla:

click List Box from Developer tab

3. Haz clic derecho en el cuadro de lista principal y selecciona Propiedades desde el menú contextual. En el cuadro de diálogo Propiedades, cambia el campo (Nombre) a Bebida u otro nombre según lo necesites, ingresa el rango de celdas que contiene los valores únicos extraídos en el campo RangoRellenoLista y cierra el cuadro de diálogo.

specify the options in the Properties pane

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

5. Haz clic derecho en la pestaña de la hoja y selecciona Ver Código desde el menú contextual. Luego copia el siguiente código VBA en la ventana de Código. Ver captura de pantalla:

Código VBA: Crear cuadros de lista en cascada dinámicos 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 los dos cuadros de lista, cámbialos a tus propios nombres.

click View Code to pate the code into the module

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

7. Desactiva el Modo Diseño haciendo clic en Desarrollador > 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é se mostrarán en el segundo cuadro. Al seleccionar Té o Vino solo se mostrarán los artículos de té o vino en el segundo cuadro de lista. Ver captura de pantalla:

dynamic cascading list boxes are created



Artículos relacionados:

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado 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 | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar 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 | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!