How to Select Multiple Items from a Dropdown List in Excel

A normal Excel data-validation dropdown accepts one value per cell. Selecting several items and keeping all of them in the same cell requires automation or a different worksheet design.

  1. Create the dropdown normally with Data > Data Validation and a List source.
  2. If you truly need multiple choices in one cell, decide how they should be separated and whether the workbook may contain macros.
  3. In desktop Excel, use a carefully written VBA Worksheet_Change event to append a new validated selection to the existing cell value.
  4. Save the workbook as a macro-enabled .xlsm file and test undo, duplicate choices, deletion, and pasted values before distributing it.

There is no built-in multi-select switch

Do not look for a checkbox in Data Validation; standard Excel dropdowns are single-select.

Macros have tradeoffs

VBA may be blocked by organizational security settings, does not behave the same in Excel for the web, and can make collaboration harder. Never tell recipients to weaken macro security broadly.

A normalized table can be better

If each selection represents real data that must be filtered, counted, or analyzed, storing one choice per row is usually more reliable than packing several values into one cell.

Before you finish

After completing the Select Multiple Items from a Dropdown List in Excel procedure, test the exact feature you changed and keep the original settings or source data available until the result is confirmed. If the behavior differs from the steps above, check the software version and device-specific documentation before making additional changes.

Example VBA code

This example lets people pick several items from a dropdown in cells C2:C100. Each new choice is added to the cell, separated by a comma, and duplicates are skipped.

  1. Right-click the sheet tab and choose View Code.
  2. Paste the code below into the window that opens.
  3. Change C2:C100 to the range that holds your dropdowns.
  4. Close the editor and save as an Excel Macro-Enabled Workbook (.xlsm).
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim oldVal As String, newVal As String
    If Target.CountLarge > 1 Then Exit Sub
    If Intersect(Target, Me.Range("C2:C100")) Is Nothing Then Exit Sub
    On Error GoTo ExitHandler
    Application.EnableEvents = False
    newVal = Target.Value
    Application.Undo
    oldVal = Target.Value
    If oldVal = "" Or newVal = "" Then
        Target.Value = newVal
    ElseIf InStr(1, ", " & oldVal & ",", ", " & newVal & ",") = 0 Then
        Target.Value = oldVal & ", " & newVal
    Else
        Target.Value = oldVal
    End If
ExitHandler:
    Application.EnableEvents = True
End Sub

To clear a cell, select it and press Delete. Test the code on a copy of your workbook first, and remember that macros may be blocked on other people’s computers.

Alternatives that don’t need macros

Option How it works
Several dropdown columns Put Choice 1, Choice 2, and Choice 3 in separate columns, each with the same dropdown list
Checkboxes In recent Microsoft 365 versions, use Insert > Checkbox to add a column of checkboxes for each option
Yes/No columns Give each option its own column with a Yes/No dropdown, which is easy to filter and count
Microsoft Forms Collect multiple-choice answers in a form and send the responses to Excel

Separate columns are usually easier to sort, filter, and count than several values in one cell.

Frequently asked questions

Does this work in Excel for the web?

No. VBA macros don’t run in Excel for the web. Use one of the no-macro alternatives instead.

Can I count how many times each item was chosen?

With separate columns, use COUNTIF. With several items in one cell, try =COUNTIF(C2:C100,"*Apples*"), which counts cells containing that word.

For other bulk edits, see how to add a word to all cells in Excel.