How to create a drop down list with multiple values in one cell
Tutor 5 (112 Reviews)
Excel Tutor
Still stuck with a Excel question
Ask this expertAnswer
To create a drop-down list that allows selecting multiple values in one cell, Excel requires Data Validation combined with VBA because the default drop-down feature supports single selection only.
What is a multi-select drop-down in Excel?
A multi-select drop-down is a Data Validation list that allows more than one item to be selected and stored in a single cell, separated by a delimiter such as a comma.
Why Excel does not support multi-select drop-downs by default
Excel’s Data Validation engine is designed for single-value constraints to preserve data integrity, calculation reliability, and performance consistency. Multi-selection requires event-driven logic, which is handled through VBA.
How to create the source list
A source list defines the values that appear in the drop-down.
Enter the list values in a single column.
Remove blank cells to prevent empty selections.
Sort the list alphabetically to improve usability.
How to create a standard drop-down list
A standard drop-down must exist before enabling multi-selection.
Select the target cell.
Open Data → Data Validation.
Choose List under Allow.
Select the source range.
Confirm the settings.
How to enable multiple selections using VBA (Windows)
Yes, multiple selections are possible on Windows using VBA.
Press Alt + F11 to open the VBA Editor.
Double-click the worksheet containing the drop-down.
Paste the code below into the worksheet code window.
Save the file as .xlsm.
Return to Excel and test the drop-down.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim OldValue As String
Dim NewValue As String
If Target.Validation.Type = 3 Then
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
Application.EnableEvents = True
End If
End Sub
How the VBA logic works
The worksheet change event intercepts the selection, restores the previous value, appends the new selection, and prevents duplicate entries.
How to remove a selected value
A value is removed by manually editing the cell content. VBA-based multi-select lists do not support deselection through the drop-down interface.
What is different on MacBook
No, this method does not work reliably on MacBook.
MacBook uses a limited VBA engine.
Worksheet change events behave inconsistently.
Security permissions restrict event-based automation.
How to create a multi-select alternative on MacBook
A helper-column approach provides functional parity without VBA.
Insert a column with checkboxes using Insert → Checkbox.
Link each checkbox to a helper cell.
Use a formula cell to concatenate selected values.
Protect the sheet to prevent accidental edits.
How to separate selected values
A comma followed by a space is the standard delimiter for readability. Other delimiters, such as semicolons, are supported by modifying the VBA string.
Does this method affect calculations?
Yes, calculations treat the cell as text because multiple values stored in one cell are not atomic data points.
Best practices for multi-select drop-downs
Use this method for tagging and categorization.
Avoid using it for numeric calculations.
Document the delimiter used.
Limit the list length to reduce input errors.
Validate downstream usage in pivot tables and formulas.
Common errors and fixes
Macro disabled → Enable macros in Trust Center.
Duplicate values → Use the duplicate-check logic in VBA.
Undo not working → VBA overrides Excel undo stack by design.
File not saving → Save as macro-enabled format.
When not to use multi-select drop-downs
This approach is unsuitable for financial models, relational datasets, or scenarios requiring normalized data structures.
Does this comply with Excel best practices?
Yes, this method aligns with documented Excel extensibility practices using event-driven automation while maintaining worksheet-level scope control.
. Was this Helpful?Related Questions
Get Online Tutoring or Questions answered by Experts.
You can post a question for a tutor or set up a tutoring session
Answers · 1
Why is drop down list not showing in excel
Answers · 0
Why is the drop down list not showing all options
Answers · 1
Why can't I delete drop down list excel
Answers · 1
How to create an Excel drop-down list from a lookup table
Answers · 1