Excel: Dropdown-Liste mit Mehrfachauswahl erstellen – so geht’s

Dropdown-Liste mit Mehrfachauswahl in Excel erstellen: einfache Anleitung mit VBA-Code für Windows, Mac und Excel Online – inklusive praktischer Tipps

Excel: Dropdown-Liste mit Mehrfachauswahl erstellen – so geht’s

Eine Dropdown-Liste mit Mehrfachauswahl lässt sich in Excel nicht direkt über die Datenüberprüfung aktivieren, sondern erfordert zusätzlich einen kurzen VBA-Code, der mehrere Auswahlmöglichkeiten in derselben Zelle zulässt.

Dadurch können Sie beispielsweise mehrere Kategorien, Teilnehmer oder Status-Werte in einer einzigen Zelle sammeln, statt jedes Mal die vorherige Auswahl zu überschreiben. Im Folgenden erfahren Sie Schritt für Schritt, wie Sie das umsetzen.

Was bedeutet Mehrfachauswahl in einer Excel-Dropdown-Liste?

Eine klassische Dropdown-Liste in Excel basiert auf der Funktion Datenüberprüfung und erlaubt standardmäßig nur die Auswahl eines einzigen Eintrags pro Zelle. Sobald Sie einen zweiten Wert auswählen, wird der erste automatisch ersetzt. Genau das ist bei vielen Anwendungsfällen jedoch unpraktisch.

Bei einer Mehrfachauswahl-Dropdown-Liste hingegen bleiben bereits ausgewählte Werte erhalten. Wählen Sie einen weiteren Eintrag aus, wird dieser einfach angehängt, üblicherweise getrennt durch ein Komma, ein Semikolon oder einen Zeilenumbruch. Zudem lässt sich festlegen, ob doppelte Einträge erlaubt sind oder automatisch verhindert werden sollen.

Diese Funktion ist besonders nützlich für:

  • Projektlisten, in denen mehrere Teammitglieder einer Aufgabe zugeordnet werden
  • Warenwirtschaftstabellen mit mehreren Kategorien pro Artikel
  • Checklisten und Statusübersichten mit mehreren gleichzeitig gültigen Zuständen
  • Umfragen oder Formulare, bei denen mehrere Antworten zulässig sind

Da Excel diese Funktionalität nicht nativ mitbringt, benötigen Sie entweder ein wenig VBA-Programmierung, ein ActiveX-Listenfeld oder ein Zusatztool wie Kutools für Excel. Alle drei Wege werden nachfolgend ausführlich erklärt.

Voraussetzungen für die Mehrfachauswahl per VBA

Bevor Sie loslegen, sollten Sie einige Punkte beachten, damit die Funktion später zuverlässig läuft. Zunächst benötigen Sie eine Excel-Version mit aktivierbaren Makros, also praktisch jede Desktop-Version von Excel für Microsoft 365, Excel 2019, Excel 2021 sowie ältere Varianten wie Excel 2016. Sowohl unter Windows als auch auf dem Mac funktioniert das beschriebene Vorgehen grundsätzlich gleich.

Wichtig ist außerdem, dass Sie die Datei anschließend als Excel-Arbeitsmappe mit Makros (.xlsm) speichern. Andernfalls geht der VBA-Code beim nächsten Öffnen verloren, da das Standardformat .xlsx keine Makros unterstützt. Zusätzlich sollten Sie in den Excel-Optionen unter Trust Center die Makroausführung erlauben, da sonst eine Sicherheitswarnung erscheint und der Code blockiert wird.

Zudem empfiehlt es sich, die Änderungen zunächst an einer Kopie der Datei zu testen. Da der Code direkt in das Ereignis Worksheet_Change eingreift, kann ein Tippfehler im Code dazu führen, dass sich die betroffene Zelle unerwartet verhält.

Schritt 1: Normale Dropdown-Liste per Datenüberprüfung erstellen

Bevor die Mehrfachauswahl aktiviert werden kann, benötigen Sie zunächst eine reguläre Dropdown-Liste. Gehen Sie dafür wie folgt vor:

  1. Erstellen Sie in einer separaten Spalte oder einem separaten Tabellenblatt die Liste der gewünschten Einträge, zum Beispiel Namen, Kategorien oder Statuswerte.
  2. Markieren Sie die Zelle oder den Zellbereich, in dem später die Dropdown-Liste erscheinen soll.
  3. Wechseln Sie zum Menüband auf Daten und klicken Sie dort auf Datenüberprüfung.
  4. Wählen Sie im Reiter Einstellungen unter Zulassen die Option Liste aus.
  5. Klicken Sie in das Feld Quelle und markieren Sie den Zellbereich mit Ihren Einträgen, oder tippen Sie die Werte direkt ein, getrennt durch Semikolon.
  6. Bestätigen Sie mit OK.

Ab sofort zeigt die ausgewählte Zelle einen kleinen Pfeil, über den sich ein Eintrag aus der Liste auswählen lässt. Allerdings überschreibt jede neue Auswahl die vorherige – genau hier setzt der nächste Schritt an.

Schritt 2: Mehrfachauswahl mit VBA-Code aktivieren

Um mehrere Werte in derselben Zelle zu sammeln, fügen Sie nun den passenden VBA-Code in das Codemodul des betroffenen Tabellenblatts ein. Gehen Sie dafür so vor:

  1. Klicken Sie mit der rechten Maustaste auf den Tabellenblattreiter unten am Bildschirm.
  2. Wählen Sie Code anzeigen, um den VBA-Editor zu öffnen.
  3. Fügen Sie im rechten Codefenster den folgenden Code ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim oldValue As String
    Dim newValue As String

    If Target.Address = "$C$2" Then
        Application.EnableEvents = False
        newValue = Target.Value
        Application.Undo
        oldValue = Target.Value
        Target.Value = newValue

        If oldValue = "" Then
            Target.Value = newValue
        Else
            If newValue = "" Then
                Target.Value = ""
            Else
                Target.Value = oldValue & ", " & newValue
            End If
        End If

        Application.EnableEvents = True
    End If
End Sub
  1. Passen Sie die Zellreferenz $C$2 an die Zelle an, in der Ihre Dropdown-Liste liegt.
  2. Schließen Sie den VBA-Editor und speichern Sie die Datei als .xlsm.

Sobald Sie nun mehrere Werte nacheinander aus der Dropdown-Liste auswählen, werden diese automatisch durch ein Komma getrennt in der Zelle zusammengeführt. Testen Sie die Funktion anschließend direkt, indem Sie zwei oder drei Einträge hintereinander auswählen.

Mehrfachauswahl für mehrere Zellen oder Spalten aktivieren

Der oben gezeigte Code funktioniert zunächst nur für eine einzelne Zelle. Möchten Sie jedoch, dass die Mehrfachauswahl für einen ganzen Bereich oder eine komplette Spalte funktioniert, müssen Sie die Bedingung im Code entsprechend anpassen:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim oldValue As String
    Dim newValue As String

    If Target.Column = 3 And Target.Row > 1 Then
        Application.EnableEvents = False
        newValue = Target.Value
        Application.Undo
        oldValue = Target.Value
        Target.Value = newValue

        If oldValue = "" Then
            Target.Value = newValue
        ElseIf newValue = "" Then
            Target.Value = ""
        Else
            Target.Value = oldValue & ", " & newValue
        End If

        Application.EnableEvents = True
    End If
End Sub

In diesem Beispiel gilt die Mehrfachauswahl für die komplette Spalte C ab Zeile 2. Auf diese Weise lässt sich die Funktion beispielsweise auf eine gesamte Projektliste oder Tabelle mit vielen Einträgen anwenden, ohne den Code für jede Zelle einzeln zu wiederholen.

Doppelte Einträge in der Dropdown-Liste verhindern

Standardmäßig lässt der VBA-Code zu, dass derselbe Eintrag mehrfach ausgewählt wird, wodurch er doppelt in der Zelle erscheint. Möchten Sie das verhindern, ergänzen Sie den Code um eine Prüfung auf bereits vorhandene Werte:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim oldValue As String
    Dim newValue As String

    If Target.Column = 3 And Target.Row > 1 Then
        Application.EnableEvents = False
        newValue = Target.Value
        Application.Undo
        oldValue = Target.Value

        If oldValue = "" Then
            Target.Value = newValue
        ElseIf newValue = "" Then
            Target.Value = ""
        ElseIf InStr(1, oldValue, newValue) = 0 Then
            Target.Value = oldValue & ", " & newValue
        Else
            Target.Value = oldValue
        End If

        Application.EnableEvents = True
    End If
End Sub

Dadurch wird jeder Eintrag geprüft, bevor er hinzugefügt wird. Ist der Wert bereits vorhanden, bleibt die Zelle unverändert. Somit vermeiden Sie unsaubere Datenlisten und behalten gleichzeitig die Übersicht über bereits getroffene Auswahlen.

Trennzeichen individuell anpassen

Je nach Anwendungsfall möchten Sie die einzelnen Werte vielleicht nicht durch ein Komma, sondern durch ein Semikolon, einen Zeilenumbruch oder ein anderes Zeichen trennen. Ändern Sie dafür einfach die entsprechende Stelle im Code:

  • Für ein Semikolon: oldValue & "; " & newValue
  • Für einen Zeilenumbruch innerhalb derselben Zelle: oldValue & Chr(10) & newValue

Möchten Sie einen Zeilenumbruch verwenden, sollten Sie außerdem den automatischen Zeilenumbruch für die Zelle aktivieren. Klicken Sie dazu auf Start und anschließend auf Zeilenumbruch, damit alle Werte untereinander sichtbar sind und nicht abgeschnitten werden.

Mehrfachauswahl ohne VBA: Das ActiveX-Listenfeld

Falls Sie sich mit VBA nicht wohlfühlen oder Makros aus Sicherheitsgründen in Ihrem Unternehmen nicht zulässig sind, gibt es eine Alternative ohne Programmierung: das klassische Listenfeld aus den Formularsteuerelementen beziehungsweise ActiveX-Steuerelementen.

Gehen Sie dafür folgendermaßen vor:

  1. Öffnen Sie das Menüband Entwicklertools. Ist dieses nicht sichtbar, aktivieren Sie es über Datei > Optionen > Menüband anpassen.
  2. Klicken Sie auf Einfügen und wählen Sie unter ActiveX-Steuerelemente das Listenfeld aus.
  3. Ziehen Sie mit der Maus einen Rahmen an der gewünschten Stelle im Tabellenblatt auf.
  4. Klicken Sie mit der rechten Maustaste auf das Listenfeld und wählen Sie Eigenschaften.
  5. Tragen Sie unter ListFillRange den Zellbereich mit Ihren Einträgen ein.
  6. Setzen Sie die Eigenschaft MultiSelect auf den Wert 1 – fmMultiSelectMulti.

Ab diesem Zeitpunkt lassen sich mehrere Einträge im Listenfeld gleichzeitig anklicken, ohne dass ein VBA-Code für das Zusammenführen benötigt wird. Allerdings werden die Auswahlen dabei nicht automatisch in eine einzelne Zelle geschrieben, sondern bleiben im Listenfeld selbst sichtbar. Für viele Auswertungen reicht das jedoch bereits vollkommen aus, insbesondere wenn Sie die Auswahl später per Formel auslesen möchten.

Mehrfachauswahl komfortabel mit Kutools für Excel

Wer regelmäßig mit Mehrfachauswahl-Listen arbeitet und auf VBA-Wartung verzichten möchte, kann außerdem auf das Excel-Add-in Kutools für Excel zurückgreifen. Das Tool bringt eine fertige Funktion namens Dropdown-Liste mit mehreren Auswahlmöglichkeiten erstellen mit, die sich ohne eigenen Code einrichten lässt.

So gehen Sie dabei vor:

  1. Installieren Sie Kutools für Excel und öffnen Sie anschließend Ihre Arbeitsmappe.
  2. Erstellen Sie zunächst wie gewohnt eine reguläre Dropdown-Liste über die Datenüberprüfung.
  3. Wechseln Sie zum Reiter Kutools und wählen Sie Dropdown-Liste > Dropdown-Liste mit mehreren Auswahlmöglichkeiten erstellen.
  4. Markieren Sie im erscheinenden Dialogfeld die Zellen mit der Dropdown-Liste.
  5. Legen Sie im Feld Separator das gewünschte Trennzeichen fest, beispielsweise Komma oder Semikolon.
  6. Bestätigen Sie die Einstellungen mit OK.

Der Vorteil dieser Methode liegt darin, dass keine eigene VBA-Programmierung notwendig ist und sich Einstellungen wie das Trennzeichen oder der Umgang mit doppelten Einträgen bequem über die Benutzeroberfläche steuern lassen. Zudem bietet Kutools zusätzliche Funktionen für die Datenverwaltung, was sich besonders für Nutzer lohnt, die ohnehin regelmäßig komplexere Excel-Aufgaben lösen.

Häufige Probleme und wie Sie diese beheben

Bei der Einrichtung einer Mehrfachauswahl-Dropdown-Liste treten immer wieder ähnliche Stolpersteine auf. Deshalb hier die wichtigsten Lösungen im Überblick:

  • Makros werden nicht ausgeführt: Prüfen Sie, ob die Datei tatsächlich im Format .xlsm gespeichert wurde und ob Makros im Trust Center aktiviert sind.
  • Fehlermeldung beim Einfügen des Codes: Achten Sie darauf, den Code exakt in das Codemodul des betroffenen Tabellenblatts einzufügen, nicht in ein allgemeines Modul.
  • Auswahl funktioniert nur in einer Zelle: Passen Sie die Bedingung Target.Address beziehungsweise Target.Column im Code an, damit mehrere Zellen oder eine ganze Spalte abgedeckt werden.
  • Doppelte Werte erscheinen: Ergänzen Sie die Prüfung mit der Funktion InStr, wie im entsprechenden Abschnitt oben beschrieben.
  • Geschützte Tabellenblätter blockieren die Funktion: Deaktivieren Sie den Blattschutz für die betroffenen Zellen, da VBA sonst keine Änderungen vornehmen kann.

Sollte die Mehrfachauswahl weiterhin nicht funktionieren, lohnt sich außerdem ein Blick in den VBA-Editor, um mögliche Syntaxfehler direkt zu erkennen. Diese werden dort in der Regel farblich hervorgehoben.

Häufige Fragen zur Mehrfachauswahl in der Excel-Dropdown-Liste

Kann Excel von Haus aus mehrere Werte in einer Dropdown-Liste auswählen?

Nein, ohne zusätzliche Maßnahmen erlaubt die native Datenüberprüfung nur die Auswahl eines einzigen Eintrags. Für eine echte Mehrfachauswahl ist entweder VBA, ein Listenfeld oder ein Add-in wie Kutools für Excel notwendig.

Welches Dateiformat wird für die VBA-Lösung benötigt?

Speichern Sie die Datei zwingend als Excel-Arbeitsmappe mit Makros (.xlsm). Im Standardformat .xlsx gehen sämtliche Makros beim Speichern verloren.

Funktioniert die Mehrfachauswahl auch auf dem Mac?

Ja, die beschriebene VBA-Lösung funktioniert grundsätzlich auch in Excel für Mac, allerdings kann es je nach Version zu kleineren Unterschieden bei den Entwicklertools kommen.

Wie kann ich verhindern, dass derselbe Wert doppelt ausgewählt wird?

Ergänzen Sie den VBA-Code um eine Prüfung mit der Funktion InStr, die kontrolliert, ob der ausgewählte Wert bereits in der Zelle vorhanden ist, bevor er erneut hinzugefügt wird.

Kann ich statt eines Kommas einen Zeilenumbruch als Trennzeichen verwenden?

Ja, ersetzen Sie im Code die Verkettung durch Chr(10) anstelle des Kommas und aktivieren Sie zusätzlich den automatischen Zeilenumbruch für die betroffene Zelle.

Warum wird meine Sicherheitswarnung beim Öffnen der Datei angezeigt?

Diese Meldung erscheint, weil die Datei Makros enthält. Aktivieren Sie den Inhalt bewusst über die Sicherheitsleiste, sofern Sie der Quelle der Datei vertrauen.

Kann ich die Mehrfachauswahl auf mehrere Spalten gleichzeitig anwenden?

Ja, passen Sie dafür die Bedingung im Code an, sodass mehrere Spaltennummern oder ein größerer Zellbereich berücksichtigt werden, anstatt nur eine einzelne Zelladresse zu prüfen.

Gibt es eine Lösung ganz ohne VBA?

Ja, alternativ lässt sich ein ActiveX-Listenfeld mit der Eigenschaft MultiSelect verwenden. Dabei wird jedoch keine automatische Textzelle mit kombinierten Werten erzeugt.

Beeinträchtigt die VBA-Lösung die Performance der Datei?

Bei überschaubaren Datenmengen ist die Auswirkung minimal. Bei sehr großen Tabellen mit vielen Mehrfachauswahl-Zellen kann sich das Worksheet_Change-Ereignis jedoch spürbar auf die Rechenzeit auswirken.

Fazit

Eine Dropdown-Liste mit Mehrfachauswahl lässt sich in Excel zuverlässig über Datenüberprüfung in Kombination mit VBA umsetzen, wobei sich Trennzeichen und Duplikatsprüfung individuell anpassen lassen. Alternativ eignen sich ein ActiveX-Listenfeld oder das Add-in Kutools für Excel für alle, die auf eigene Programmierung verzichten möchten.

Wählen Sie deshalb die Methode, die am besten zu Ihrem Kenntnisstand und Ihrer Aufgabenstellung passt, und testen Sie die Lösung zunächst an einer Kopie Ihrer Arbeitsmappe.

Mario
Mario

Mario schreibt bei tippsling.de über Technik, Spiele, DIY und digitale Alltagsthemen. Sein Schwerpunkt liegt auf verständlichen Anleitungen zu Windows, Apps und praktischen Problemlösungen – ergänzt um Ratgeber zu Gaming- und DIY-Themen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert