TRUCO: para que Excel permita listas desplegables con varios valores activados (necesitas VBA, sigue los pasos)

 Excel no permite multiselección en listas desplegables de forma nativa.

La validación de datos solo deja elegir un valor.

Pero sí puedes hacerlo con VBA (macros), que es la solución habitual.


Opción recomendada: desplegable múltiple con VBA

1. Crear la lista desplegable normal

Supongamos:

  • Lista de opciones en Hoja2!A1:A10
  • Celda con desplegable: C2:C100

Pasos

  1. Selecciona C2:C100
  2. Datos → Validación de datos
  3. Permitir → Lista
  4. Origen:
=Hoja2!$A$1:$A$10

Ahora ya tienes un desplegable simple.


2. Activar multiselección con VBA

Abrir el editor VBA

Pulsa:

ALT + F11

En el panel izquierdo:

Haz doble clic sobre la hoja donde está el desplegable.

Ejemplo:

  • Hoja1 (Ventas)

Pega este código

Private Sub Worksheet_Change(ByVal Target As Range)

Dim OldValue As String
Dim NewValue As String

On Error GoTo ExitSub

If Target.CountLarge > 1 Then GoTo ExitSub

If Intersect(Target, Range("C2:C100")) Is Nothing Then GoTo ExitSub

Application.EnableEvents = False

NewValue = Target.Value
Application.Undo
OldValue = Target.Value

If OldValue = "" Then
Target.Value = NewValue
Else
If InStr(OldValue, NewValue) = 0 Then
Target.Value = OldValue & ", " & NewValue
Else
Target.Value = OldValue
End If
End If

ExitSub:
Application.EnableEvents = True

End Sub

Resultado

Si seleccionas:

Mañana

y luego:

Tarde

la celda quedará:

Mañana, Tarde

Adaptarlo a otras columnas

Esta parte:

Range("C2:C100")

define dónde funciona.

Puedes cambiarla por:

Range("D:D")

o:

Range("B2:B500")

Variante avanzada: quitar opciones seleccionadas

También puede hacerse para que:

  • si vuelves a elegir “Tarde”
  • se elimine de la lista

Ejemplo:

Mañana, Tarde

→ eliges otra vez “Tarde”

→ queda:

Mañana

Recomendación para tu supermercado

Esto es muy útil para campos como:

  • Observaciones
  • Categorías secundarias
  • Funciones del empleado
  • Turnos compatibles
  • Departamentos
  • Métodos de pago admitidos
  • Etiquetas internas

Importante

El archivo debe guardarse como:

.xlsm

(libro habilitado para macros)

Si lo guardas como .xlsx, perderás el VBA.

Comentarios

Entradas populares de este blog

Access- dirección Google Drive con ejercicios y teoría simplificada de Bases de Datos (BBDD)

Prompt para que la IA genere los datos para la BBDD de 2 Zoos (indicando yo las tablas)