¿Cómo crear una lista desplegable con múltiples selecciones o valores en Excel?
De forma predeterminada, solo puede seleccionar un elemento en una lista desplegable de validación de datos en Excel. ¿Cómo puede hacer selecciones múltiples en la lista desplegable como se muestra a continuación? Los métodos en este artículo pueden ayudarlo a resolver el problema.
Más tutorial para la lista desplegable ...
Cree una lista desplegable con múltiples selecciones con código VBA
Esta sección proporciona dos códigos VBA para ayudarlo a realizar selecciones múltiples en listas desplegables en una hoja de trabajo. Los dos códigos VBA pueden lograr:
Puede aplicar uno de los siguientes códigos de VBA para realizar selecciones múltiples en una lista desplegable en una hoja de cálculo en Excel. Por favor, haga lo siguiente.
1. Abra la hoja de trabajo que contiene las listas desplegables de validación de datos desde las que desea realizar selecciones múltiples. Haga clic derecho en la pestaña de la hoja y seleccione Ver código desde el menú contextual.
2. En el Microsoft Visual Basic para aplicaciones ventana, copie el siguiente código VBA en la ventana de código. Ver captura de pantalla:
Código VBA 1: permitir selecciones múltiples en una lista desplegable sin duplicados
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2019/11/13
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
If xRng Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not Application.Intersect(Target, xRng) Is Nothing Then
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or _
InStr(1, xValue1, ", " & xValue2) Or _
InStr(1, xValue1, xValue2 & ",") Then
Target.Value = xValue1
Else
Target.Value = xValue1 & ", " & xValue2
End If
End If
End If
End If
Application.EnableEvents = True
End Sub
3. presione el otro + Q llaves para cerrar el Microsoft Visual Basic para aplicaciones ventana.
Ahora puede seleccionar varios elementos de la lista desplegable en la hoja de trabajo actual.
Supongamos que ha seleccionado un elemento accidentalmente y necesita eliminarlo sin borrar toda la celda y comenzar de nuevo. El siguiente código VBA 2 puede hacerte un favor.
Código VBA 2: permitir selecciones múltiples en una lista desplegable sin duplicados (elimine los elementos existentes seleccionándolos nuevamente)
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2023/01/11
'Updated by Ken Gardner 2022/07/11
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
Dim semiColonCnt As Integer
Dim xType As Integer
If Target.Count > 1 Then Exit Sub
On Error Resume Next
xType = 0
xType = Target.Validation.Type
If xType = 3 Then
Application.ScreenUpdating = False
Application.EnableEvents = False
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or xValue1 = xValue2 & ";" Or xValue1 = xValue2 & "; " Then ' leave the value if only one in list
xValue1 = Replace(xValue1, "; ", "")
xValue1 = Replace(xValue1, ";", "")
Target.Value = xValue1
ElseIf InStr(1, xValue1, "; " & xValue2) Then
xValue1 = Replace(xValue1, xValue2, "") ' removes existing value from the list on repeat selection
Target.Value = xValue1
ElseIf InStr(1, xValue1, xValue2 & ";") Then
xValue1 = Replace(xValue1, xValue2, "")
Target.Value = xValue1
Else
Target.Value = xValue1 & "; " & xValue2
End If
Target.Value = Replace(Target.Value, ";;", ";")
Target.Value = Replace(Target.Value, "; ;", ";")
If Target.Value <> "" Then
If Right(Target.Value, 2) = "; " Then
Target.Value = Left(Target.Value, Len(Target.Value) - 2)
End If
End If
If InStr(1, Target.Value, "; ") = 1 Then ' check for ; as first character and remove it
Target.Value = Replace(Target.Value, "; ", "", 1, 1)
End If
If InStr(1, Target.Value, ";") = 1 Then
Target.Value = Replace(Target.Value, ";", "", 1, 1)
End If
semiColonCnt = 0
For i = 1 To Len(Target.Value)
If InStr(i, Target.Value, ";") Then
semiColonCnt = semiColonCnt + 1
End If
Next i
If semiColonCnt = 1 Then ' remove ; if last character
Target.Value = Replace(Target.Value, "; ", "")
Target.Value = Replace(Target.Value, ";", "")
End If
End If
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub
Notas:
Cree fácilmente una lista desplegable con múltiples selecciones con una herramienta increíble
Aquí recomendamos encarecidamente el Lista desplegable de selección múltiple característica de Kutools for Excel para ti. Con esta función, puede seleccionar fácilmente varios elementos de la lista desplegable en un rango especificado, hoja de trabajo actual, libro de trabajo actual o todos los libros de trabajo abiertos que necesite.
Antes de aplicar Kutools for Excel, Por favor descargarlo e instalarlo en primer lugar.
1. Hacer clic en Kutools > La lista desplegable > Lista desplegable de selección múltiple > Ajustes. Ver captura de pantalla:
2. En el Configuración de lista desplegable de selección múltiple cuadro de diálogo, configure de la siguiente manera.
- 2.1) Especifique el alcance de aplicación en el Aplicar a sección. En este caso, selecciono Hoja de trabajo actual de Alcance especificado la lista desplegable;
- 2.2) en el Dirección del texto sección, seleccione una dirección de texto según sus necesidades;
- 2.3) en el Separador cuadro, introduzca un delimitador que utilizará para separar los valores múltiples;
- 2.4) Compruebe el No agregue duplicados en el cuadro Opciones sección si no desea hacer duplicados en las celdas de la lista desplegable;
- 2.5) Haga clic en OK botón. Ver captura de pantalla:
3. Haga clic en Kutools > La lista desplegable > Lista desplegable de selección múltiple para habilitar la característica.
Ahora puede seleccionar varios elementos de la lista desplegable en la hoja de trabajo actual o cualquier alcance que haya especificado en el paso 2.
Si desea tener una prueba gratuita (30-día) de esta utilidad, haga clic para descargarloy luego vaya a aplicar la operación según los pasos anteriores.
Artículos relacionados:
Autocompletar al escribir en la lista desplegable de Excel
Si tiene una lista desplegable de validación de datos con valores grandes, debe desplazarse hacia abajo en la lista solo para encontrar la correcta, o escribir la palabra completa en el cuadro de lista directamente. Si existe un método para permitir que se complete automáticamente al escribir la primera letra en la lista desplegable, todo será más fácil. Este tutorial proporciona el método para resolver el problema.
Crear una lista desplegable de otro libro de trabajo en Excel
Es bastante fácil crear una lista desplegable de validación de datos entre hojas de trabajo dentro de un libro. Pero si los datos de la lista que necesita para la validación de datos se encuentran en otro libro de trabajo, ¿qué haría? En este tutorial, aprenderá a crear una lista desplegable de otro libro en Excel en detalle.
Cree una lista desplegable de búsqueda en Excel
Para una lista desplegable con numerosos valores, encontrar uno adecuado no es tarea fácil. Anteriormente, hemos introducido un método para completar automáticamente la lista desplegable cuando ingresa la primera letra en el cuadro desplegable. Además de la función de autocompletar, también puede hacer que la lista desplegable se pueda buscar para mejorar la eficiencia de trabajo al encontrar los valores adecuados en la lista desplegable. Para hacer búsquedas en la lista desplegable, pruebe el método de este tutorial.
Completar automáticamente otras celdas al seleccionar valores en la lista desplegable de Excel
Digamos que ha creado una lista desplegable basada en los valores en el rango de celdas B8: B14. Cuando selecciona cualquier valor en la lista desplegable, desea que los valores correspondientes en el rango de celdas C8: C14 se completen automáticamente en una celda seleccionada. Para resolver el problema, los métodos de este tutorial le harán un favor.
Las mejores herramientas de productividad de oficina
Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%
- Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
- Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
- Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
- Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
- Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
- Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
- Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
- Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
- Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite 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 de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
































