Tabla de contenido
Hasta ahora, hemos examinado cómo crear listas desplegables en Excel. Hoy mostraré cómo crear una lista desplegable con múltiples selecciones en Excel .
Descargar el cuaderno de prácticas
Puede descargar el cuaderno de prácticas desde aquí.
Crear lista desplegable con selección múltiple.xlsmProcedimientos Paso a Paso para Crear Lista Desplegable en Excel con Múltiples Selecciones
Aquí tenemos un conjunto de datos con una columna Nombre del libro que contiene algunos nombres de libros. Nuestro objetivo hoy es crear una lista desplegable basada en este conjunto de datos que tome múltiples selecciones. Mostraré el procedimiento paso a paso en la siguiente sección.
PASO 1: Crear una lista desplegable utilizando la validación de datos
Para crear una lista desplegable con selecciones múltiples, primero tenemos que crear una lista desplegable. Veamos los procedimientos.
- En primer lugar, seleccione la celda en la que desea crear la lista desplegable. Yo he seleccionado Celda D5 .
- A continuación, vaya a la página Datos y seleccione Validación de datos de la cinta.
- Entonces, desde el Validación de datos seleccione Lista en Permitir y escriba las celdas del rango cuyos datos desea añadir a la lista en la sección Fuente campo.
- Como alternativa, puede hacer clic en la pequeña flecha hacia arriba de la ventana Fuente y seleccione el intervalo de datos de la hoja de cálculo.
- Por último, veremos una lista desplegable creada en Celda D5 .
Lecturas similares:
- Cómo hacer una lista desplegable en Excel (independiente y dependiente)
- Hacer Selección Múltiple desde una Lista Desplegable en Excel (3 Maneras)
- Cómo crear una lista desplegable dependiente en Excel
- Crear Lista Desplegable en Múltiples Columnas en Excel (3 Maneras)
PASO 2: Habilitar la lista desplegable para aceptar selección múltiple mediante código VBA
Ya hemos creado la lista desplegable. Ahora, es el momento de preparar la lista desplegable para selecciones múltiples. Utilizaré 2 VBA para que la lista acepte selecciones múltiples. Una aceptará la repetición de datos y otra no.
Caso 1: Código VBA para selecciones múltiples con repetición
En esta sección, mostraré la forma de crear una lista desplegable con múltiples selecciones que tomará una repetición de datos.
Repasemos los procedimientos.
- En primer lugar, pulse ALT + F11 para abrir el VBA ventana.
- A continuación, seleccione Explorador de proyectos . también, doble - haga clic en en la hoja en la que desea que se realice la tarea.
- Simultáneamente, un Código se abrirá la ventana.
- Después, escribe el siguiente código en esa ventana.
Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue = Target.Value If Oldvalue = "" ThenTarget.Value = Newvalue Else Target.Value = Oldvalue & ", " & Newvalue End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub
Nota: En la parte de código ( Si Target.Address = "$D$5" Entonces ) en lugar de la referencia de celda $D$5, se escribe la referencia de la celda donde se ha creado la lista desplegable. - Por último, volvamos a la hoja de trabajo y podremos seleccionar varios elementos en la lista desplegable con una repetición del mismo elemento.
Caso 2: Código VBA para selección múltiple sin repetición
En esta sección, mostraré la forma de crear una lista desplegable con múltiples selecciones que no necesitará una repetición de datos.
Repasemos los procedimientos.
- En primer lugar, pulse ALT + F11 para abrir el VBA ventana.
- A continuación, seleccione Explorador de proyectos . también, doble - haga clic en en la hoja en la que desea que se realice la tarea.
- Simultáneamente, un Código aparecerá la ventana.
- Después, escriba el siguiente código en esa ventana.
Private Sub Worksheet_Change(ByVal Target As Range) Dim Oldvalue As String Dim Newvalue As String Application.EnableEvents = True On Error GoTo Exitsub If Target.Address = "$D$5" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue =Target.Value If Oldvalue = "" Then Target.Value = Newvalue Else If InStr(1, Oldvalue, Newvalue) = 0 Then Target.Value = Oldvalue & ", " & Newvalue Else: Target.Value = Oldvalue End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub
Nota: En la parte de código ( Si Target.Address = "$D$5" Entonces ) en lugar de la referencia de celda $D$5, se escribe la referencia de la celda donde se ha creado la lista desplegable. - Por último, volvamos a la hoja de trabajo y podremos seleccionar varios elementos en la lista desplegable sin que se repita el mismo elemento.
Conclusión
Utilizando este método, puede crear una lista desplegable en Excel con múltiples selecciones. ¿Tiene alguna pregunta? No dude en hacérnosla saber en la sección de comentarios. Visite nuestro Sitio web de ExcelWIKI para más artículos sobre Excel .