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.
- Markiere die Zelle oder den Bereich, in dem das Dropdown erscheinen soll.
- Gehe im Menüband auf den Reiter Daten.
- Klicke auf Datenüberprüfung.
- Wähle im Feld „Zulassen“ den Eintrag Liste aus.
- Gib unter „Quelle“ deine Optionen ein (getrennt durch Semikolon, z. B.
Apfel;Birne;Banane) oder markiere einen Zellbereich, in dem deine Liste steht. - Bestätige mit OK.
Schritt 2: Den VBA-Editor öffnen
Um die Mehrfachauswahl zu ermöglichen, müssen wir ein kurzes Skript hinterlegen.
- Mache einen Rechtsklick unten auf den Namen des Tabellenblatts (z. B. "Tabelle1"), in dem sich dein Dropdown befindet.
- Wähle im Kontextmenü Code anzeigen.
- 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
- Du kannst das VBA-Fenster jetzt einfach oben rechts über das "X" schließen. Du musst nicht extra speichern.
- Gehe zurück in dein Excel-Blatt.
- Wähle ein Element aus deinem Dropdown aus.
- 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:
- Gehe auf Datei > Speichern unter.
- 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 & ", " & Newvalueab (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.