Excel Drop-Down-Liste mit Mehrfachauswahl erstellen: Die ultimative Anleitung
Standardmäßig erlaubt eine Drop-Down-Liste (Datenüberprüfung) in Microsoft Excel nur die Auswahl eines einzigen Elements. Sobald Sie einen zweiten Wert auswählen, wird der vorherige überschrieben.
Mit einem kleinen, einfachen Trick über Visual Basic for Applications (VBA) können Sie Excel jedoch beibringen, mehrere Werte in derselben Zelle durch ein Komma getrennt zu sammeln. In dieser Anleitung erfahren Sie Schritt für Schritt, wie Sie das ohne Vorkenntnisse umsetzen.
Schritt 1: Die Auswahlliste erstellen
Zuerst benötigen Sie die Daten, die später im Menü auswählbar sein sollen.
- Öffnen Sie Ihre Excel-Tabelle.
- Schreiben Sie Ihre Optionen in eine Spalte (z. B. in die Spalten
G1:G5oder auf ein separates Tabellenblatt).- Beispiel:
- Option A: Apfel
- Option B: Banane
- Option C: Kirsche
- Option D: Orange
- Beispiel:
Schritt 2: Das reguläre Drop-Down-Menü einrichten
Nun richten wir das Standard-Drop-Down über die Datenüberprüfung ein.
- Markieren Sie die Zelle(n), in denen das Drop-Down-Menü erscheinen soll (z. B. Spalte A bzw. Zelle
A2:A10). - Wechseln Sie im Menüband auf die Registerkarte Daten.
- Klicken Sie auf Datenüberprüfung (in der Gruppe Datentools).
- Wählen Sie im Reiter Einstellungen:
- Zulassen: Wählen Sie Liste aus.
- Quelle: Klicken Sie in das Feld und markieren Sie Ihre Liste aus Schritt 1 (z. B.
=$G$1:$G$4).
- Klicken Sie auf OK.
Hinweis: Wenn Sie die Zelle jetzt testen, können Sie immer noch nur eine Option wählen. Das ändern wir im nächsten Schritt.
Schritt 3: Den VBA-Code für die Mehrfachauswahl einfügen
Da Excel keine native Einstellung für Mehrfachauswahlen in einer Zelle bietet, nutzen wir ein kurzes Makro.
- Klicken Sie mit der rechten Maustaste unten auf den Reiter des Tabellenblatts, auf dem sich Ihr Drop-Down befindet (z. B. Tabelle1).
- Wählen Sie Code anzeigen aus. (Alternativ drücken Sie
ALT + F11und doppelklicken im Projekt-Explorer links auf das entsprechende Tabellenblatt). - Es öffnet sich das weiße Code-Fenster. Kopieren Sie den folgenden Code und fügen Sie ihn exakt so dort ein:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim AlterWert As String
Dim NeuerWert As String
' Verhindert Endlosschleifen bei Wertänderung
On Error GoTo FehlerBehandlung
' Prüfen, ob nur eine Zelle geändert wurde und eine Datenüberprüfung existiert
If Target.CountLarge > 1 Then Exit Sub
If Target.Validation.Type = 3 Then
Application.EnableEvents = False
NeuerWert = Target.Value
Application.Undo
AlterWert = Target.Value
Target.Value = NeuerWert
' Falls bereits ein Wert vorhanden ist, neuen Wert mit Komma anhängen
If AlterWert <> "" Then
If NeuerWert <> "" Then
' Prüft, ob der Wert bereits vorhanden ist (vermeidet Duplikate)
If InStr(AlterWert, NeuerWert) = 0 Then
Target.Value = AlterWert & ", " & NeuerWert
Else
Target.Value = AlterWert
End If
End If
End If
End If
FehlerBehandlung:
Application.EnableEvents = True
End Sub
- Schließen Sie das VBA-Fenster über das rote „X“ oben rechts, um zur Tabelle zurückzukehren.
Schritt 4: Die Datei richtig speichern
Da Ihre Arbeitsmappe jetzt Programmcode (VBA) enthält, müssen Sie das Format anpassen:
- Klicken Sie auf Datei > Speichern unter.
- Ändern Sie den Dateityp zwingend auf:
- *Excel-Arbeitsmappe mit Makros (.xlsm)**
- Klicken Sie auf Speichern.
(Speichern Sie als normale
.xlsx, wird der Code beim Schließen unwiderruflich gelöscht).
Schritt 5: Funktionsweise und Test
Gehen Sie nun in Ihre Zielzelle (z. B. A2):
- Wählen Sie den ersten Wert aus (z. B. Apfel).
- Öffnen Sie die Liste erneut und wählen Sie einen zweiten Wert (z. B. Banane).
- Ergebnis: Die Zelle zeigt nun:
Apfel, Banane.
Nützliche Anpassungen des Codes:
-
Anderes Trennzeichen gewünscht?
Wenn Sie statt eines Kommas z. B. ein Semikolon oder einen Zeilenumbruch möchten, ändern Sie im Code diese Zeile:- Für Semikolon:
Target.Value = AlterWert & "; " & NeuerWert - Für Zeilenumbruch:
Target.Value = AlterWert & vbCrLf & NeuerWert(Aktivieren Sie in Excel hierfür den „Textumbruch“ in der Zelle).
- Für Semikolon:
-
Inhalt löschen / zurücksetzen:
Klicken Sie die Zelle an und drücken Sie einfach die TasteEntf(Delete), um alle Auswahlen auf einmal zu leeren.