Tutorial: Mehrfachauswahl in einer Excel-Dropdown-Liste erstellen

Melden

Hier ist ein ausführliches Tutorial, wie du eine Mehrfachauswahl für Dropdown-Listen in Excel erstellst.

Da Excel von Haus aus standardmäßig nur die Auswahl eines einzelnen Elements erlaubt, nutzen wir hierfür einen kleinen VBA-Code (Makro).

Schritt 1: Die normale Dropdown-Liste erstellen

Bevor wir die Mehrfachauswahl aktivieren, musst du eine ganz normale Dropdown-Liste (Datenüberprüfung) erstellen.

  1. Markiere die Zelle oder den Bereich, in dem das Dropdown erscheinen soll.
  2. Gehe im Menüband auf den Reiter Daten.
  3. Klicke auf Datenüberprüfung.
  4. Wähle im Feld „Zulassen“ den Eintrag Liste aus.
  5. Gib unter „Quelle“ deine Optionen ein (getrennt durch Semikolon, z. B. Apfel;Birne;Banane) oder markiere einen Zellbereich, in dem deine Liste steht.
  6. Bestätige mit OK.

Schritt 2: Den VBA-Editor öffnen

Um die Mehrfachauswahl zu ermöglichen, müssen wir ein kurzes Skript hinterlegen.

  1. Mache einen Rechtsklick unten auf den Namen des Tabellenblatts (z. B. "Tabelle1"), in dem sich dein Dropdown befindet.
  2. Wähle im Kontextmenü Code anzeigen.
  3. Es öffnet sich das Fenster von „Microsoft Visual Basic for Applications“.

Schritt 3: Den VBA-Code einfügen

Kopiere den folgenden Code und füge ihn in das große weiße Textfeld des VBA-Editors ein:

Private Sub Worksheet_Change(ByVal Target As Range)
    ' Variablendefinition
    Dim Oldvalue As String
    Dim Newvalue As String

    ' Fehlerbehandlung
    On Error GoTo Exitsub

    ' Überprüfen, ob die Änderung in einer Zelle mit Datenüberprüfung stattfindet
    If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
        GoTo Exitsub
    Else
        ' Wenn die Zelle geleert wird, nichts tun
        If Target.Value = "" Then GoTo Exitsub

        ' Ereignisse vorübergehend deaktivieren
        Application.EnableEvents = False
        Newvalue = Target.Value

        ' Letzten Schritt rückgängig machen, um alten Wert zu erhalten
        Application.Undo
        Oldvalue = Target.Value

        ' Den neuen Wert wieder einsetzen
        Target.Value = Newvalue

        ' Wenn bereits ein Wert vorhanden war, den neuen Wert mit Komma anhängen
        If Oldvalue <> "" Then
            If Oldvalue <> Newvalue Then
                Target.Value = Oldvalue & ", " & Newvalue
            End If
        End If
    End If

Exitsub:
    Application.EnableEvents = True
End Sub

Schritt 4: Den Editor schließen und testen

  1. Du kannst das VBA-Fenster jetzt einfach oben rechts über das "X" schließen. Du musst nicht extra speichern.
  2. Gehe zurück in dein Excel-Blatt.
  3. Wähle ein Element aus deinem Dropdown aus.
  4. Wähle anschließend ein weiteres Element aus derselben Liste aus. Excel wird nun beide Werte, getrennt durch ein Komma, in der Zelle anzeigen.

Schritt 5: Die Datei richtig speichern

Damit die Funktion erhalten bleibt, musst du die Excel-Datei in einem Format speichern, das Makros unterstützt:

  1. Gehe auf Datei > Speichern unter.
  2. Wähle als Dateityp Excel-Arbeitsmappe mit Makros (.xlsm) aus.

Tipps zur Anpassung:

  • Trennzeichen ändern: Wenn du statt einem Komma lieber ein Pluszeichen oder einen Zeilenumbruch möchtest, ändere im Code die Zeile Target.Value = Oldvalue & ", " & Newvalue ab (z.B. in & " + " &).
  • Werte löschen: Wenn du den Inhalt der Zelle komplett löschen möchtest, klicke die Zelle an und drücke die Entf-Taste.
  • Einschränkung: Dieses Makro funktioniert auf dem gesamten Tabellenblatt für alle Zellen, die eine Datenüberprüfung (Liste) haben.
0