¿Cómo crear cuadros de lista en cascada dinámicos en Excel?
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.
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:
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:
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:
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.
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.
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:
Artículos relacionados:
- ¿Cómo borrar la celda de la lista desplegable dependiente después de cambiar la selección en Excel?
- ¿Cómo crear listas desplegables en cascada dependientes en Excel?
- ¿Cómo auto-completar otras celdas al seleccionar valores en la lista desplegable de Excel?
- ¿Cómo crear un calendario de lista desplegable en Excel?
- ¿Cómo guardar o conservar las selecciones de cuadros de lista ActiveX en Excel?
Las mejores herramientas de productividad para Office
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!