Wählen Sie mehrere Elemente aus einer Dropdown-Liste in Excel

Einer meiner Kollegen hat mich gefragt, ob es möglich ist, in Excel eine Mehrfachauswahl in einer Dropdown-Liste zu treffen.

Wenn Sie eine Dropdown-Liste erstellen, können Sie nur eine Auswahl treffen. Wenn Sie ein anderes Element auswählen, wird das erste durch die neue Auswahl ersetzt.

Er wollte mehrere Auswahlen aus derselben Dropdown-Liste treffen, sodass die Auswahlen zum bereits vorhandenen Wert in der Zelle hinzugefügt werden.

Etwas wie unten im Bild gezeigt:

Dies ist mit den in Excel integrierten Funktionen nicht möglich.

Die einzige Möglichkeit besteht darin, einen VBA-Code zu verwenden, der bei jeder Auswahl ausgeführt wird und den ausgewählten Wert zum vorhandenen Wert hinzufügt.

Video ansehen - So wählen Sie mehrere Elemente aus einer Excel-Dropdown-Liste aus

So treffen Sie mehrere Auswahlen in einer Dropdown-Liste

In diesem Tutorial zeige ich Ihnen, wie Sie in einer Excel-Dropdown-Liste eine Mehrfachauswahl treffen (mit Wiederholung und ohne Wiederholung).

Dies war eines der beliebtesten Excel-Tutorials auf dieser Website. Da ich viele ähnliche Fragen bekomme, habe ich beschlossen, am Ende dieses Tutorials einen FAQ-Bereich zu erstellen. Wenn Sie also nach dem Lesen noch Fragen haben, schauen Sie bitte zuerst im FAQ-Bereich nach.

Das Erstellen einer Dropdown-Liste, die eine Mehrfachauswahl zulässt, besteht aus zwei Teilen:

  • Erstellen der Dropdown-Liste.
  • Hinzufügen des VBA-Codes zum Back-End.

Erstellen der Dropdown-Liste in Excel

Hier sind die Schritte zum Erstellen einer Dropdown-Liste in Excel:

  1. Wählen Sie die Zelle oder den Zellbereich aus, in der die Dropdown-Liste angezeigt werden soll (C2 in diesem Beispiel).
  2. Gehen Sie zu Daten -> Datentools -> Datenvalidierung.
  3. Wählen Sie im Dialogfeld "Datenvalidierung" auf der Registerkarte "Einstellungen" als Validierungskriterien "Liste" aus.
  4. Wählen Sie im Feld Quelle die Zellen aus, die die gewünschten Elemente in der Dropdown-Liste enthalten.
  5. OK klicken.

Zelle C2 hat jetzt eine Dropdown-Liste, die die Elementnamen in A2: A6 anzeigt.

Ab sofort haben wir eine Dropdown-Liste, in der Sie jeweils ein Element auswählen können (wie unten gezeigt).

Um dieses Dropdown-Menü zu aktivieren, damit wir mehrere Auswahlen treffen können, müssen wir den VBA-Code im Backend hinzufügen.

In den nächsten beiden Abschnitten dieses Tutorials erhalten Sie den VBA-Code, um eine Mehrfachauswahl in der Dropdown-Liste (mit und ohne Wiederholung) zu ermöglichen.

VBA-Code, um mehrere Auswahlen in einer Dropdown-Liste zu ermöglichen (mit Wiederholung)

Unten ist der Excel VBA-Code, der es uns ermöglicht, mehr als ein Element aus der Dropdown-Liste auszuwählen (wodurch Wiederholungen in der Auswahl möglich sind):

Private Sub Worksheet_Change(ByVal Target As Range) 'Code by Sumit Bansal from https://trumpexcel.com ' So treffen Sie mehrere Auswahlen in einer Dropdown-Liste in Excel Dim Oldvalue As String Dim Newvalue As String On Error GoTo Exitsub If Target.Address = "$C$2" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue = Target.Value If Oldvalue = "" Then Target.Value = Newvalue Else Target.Value = Oldvalue & ", " & Newvalue End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub 

Jetzt müssen Sie diesen Code in einem Modul im VB-Editor platzieren (wie unten im Abschnitt „Wo soll der VBA-Code platziert werden“ gezeigt).

Wenn Sie diesen Code im Backend platziert haben (wird später in diesem Tutorial behandelt), können Sie mehrere Auswahlmöglichkeiten im Dropdown-Menü treffen (wie unten gezeigt).

Beachten Sie, dass, wenn Sie ein Element mehr als einmal auswählen, es erneut eingegeben wird (Wiederholung ist zulässig).

Probieren Sie es selbst aus… Laden Sie die Beispieldatei herunter

VBA-Code, um mehrere Auswahlen in einer Dropdown-Liste zu ermöglichen (ohne Wiederholung)

Viele Leute haben nach dem Code gefragt, um mehrere Elemente ohne Wiederholung aus einer Dropdown-Liste auszuwählen.

Hier ist der Code, der sicherstellt, dass ein Artikel nur einmal ausgewählt werden kann, damit es keine Wiederholungen gibt:

Private Sub Worksheet_Change(ByVal Target As Range) 'Code by Sumit Bansal from https://trumpexcel.com ' Um mehrere Auswahlen in einer Dropdown-Liste in Excel zu ermöglichen (ohne Wiederholung) Dim Oldvalue As String Dim Newvalue As String Application.EnableEvents = True Bei Fehler GoTo Exitsub If Target.Address = "$C$2" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target. Wert Application.Undo Oldvalue = Target.Value If Oldvalue = "" Then Target.Value = Newvalue Sonst If InStr(1, Oldvalue, Newvalue) = 0 Then Target.Value = Oldvalue & ", " & Newvalue Sonst: Target.Value = Oldvalue End If End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub

Jetzt müssen Sie diesen Code in einem Modul im VB-Editor platzieren (wie im nächsten Abschnitt dieses Tutorials gezeigt).

Mit diesem Code können Sie mehrere Elemente aus der Dropdown-Liste auswählen. Sie können ein Element jedoch nur einmal auswählen. Wenn Sie versuchen, es erneut auszuwählen, würde nichts passieren (wie unten gezeigt).

Probieren Sie es selbst aus… Laden Sie die Beispieldatei herunter

Wo soll der VBA-Code abgelegt werden?

Bevor Sie diesen Code in Excel verwenden, müssen Sie ihn im Back-End ablegen, damit er immer dann ausgelöst wird, wenn sich die Dropdown-Auswahl ändert.

Befolgen Sie die folgenden Schritte, um den VBA-Code in das Backend von Excel einzufügen:

  1. Gehen Sie zur Registerkarte Entwickler und klicken Sie auf Visual Basic (Sie können auch die Tastenkombination verwenden - Alt + F11). Dadurch wird der Visual Basic-Editor geöffnet.
  2. Auf der linken Seite sollte sich ein Projekt-Explorer-Bereich befinden (wenn er nicht vorhanden ist, verwenden Sie Strg + R, um ihn sichtbar zu machen).
  3. Doppelklicken Sie auf den Arbeitsblattnamen (im linken Bereich), in dem sich die Dropdown-Liste befindet. Dadurch wird das Codefenster für dieses Arbeitsblatt geöffnet.
  4. Kopieren Sie im Codefenster den obigen Code und fügen Sie ihn ein.
  5. Schließen Sie den VB-Editor.

Wenn Sie nun zum Dropdown-Menü zurückkehren und eine Auswahl treffen, können Sie mehrere Auswahlen treffen (wie unten gezeigt):

Probieren Sie es selbst aus… Laden Sie die Beispieldatei herunter

Notiz: Da wir dafür einen VBA-Code verwenden, müssen Sie die Arbeitsmappe mit der Erweiterung .xls oder .xlsm speichern.

Häufig gestellte Fragen (FAQs)

Ich habe diesen Abschnitt erstellt, um einige der am häufigsten gestellten Fragen zu diesem Tutorial und dem VBA-Code zu beantworten. Wenn Sie Fragen haben, bitte ich Sie, diese Liste von Fragen zuerst durchzugehen.

F: Im VBA-Code gilt die Funktionalität nur für Zelle C2. Wie bekomme ich es für andere Zellen? Antwort: Um dieses Dropdown-Menü mit Mehrfachauswahl in anderen Zellen zu erhalten, müssen Sie den VBA-Code im Backend ändern. Angenommen, Sie möchten dies für C2, C3 und C4 erhalten, müssen Sie die folgende Zeile im Code ersetzen: If Target.Address = "$C$2" Then mit dieser Zeile: If Target.Address = "$C$2" Oder Target.Address = "$C$3" Oder Target.Address = "$C$4" Dann
F: Ich muss mehrere Dropdown-Listen in der gesamten Spalte 'C' erstellen. Wie erhalte ich dies für alle Zellen in den Spalten mit Mehrfachauswahlfunktion? Antwort: Um Mehrfachauswahlen in Dropdowns in einer ganzen Spalte zu ermöglichen, ersetzen Sie die folgende Zeile im Code: If Target.Address = "$C$2" Then mit dieser Zeile: If Target.Column = 3 Then In ähnlichen Zeilen, wenn Wenn Sie diese Funktionalität in Spalte C und D wünschen, verwenden Sie die folgende Zeile: If Target.Column = 3 or Target.Column = 4 Then
F: Ich muss mehrere Dropdown-Listen hintereinander erstellen. Wie kann ich das machen? Antwort: Wenn Sie Dropdown-Listen mit mehreren Auswahlmöglichkeiten hintereinander erstellen müssen (sagen wir die zweite Zeile), müssen Sie die folgende Codezeile ersetzen: If Target.Address = "$C$2" Then mit dieser Zeile: If Target.Row = 2 Then Wenn Sie möchten, dass dies für mehrere Zeilen (z. B. zweite und dritte Zeile) funktioniert, verwenden Sie stattdessen die folgende Codezeile: If Target.Row = 2 or Target.Row = 3 Then
F: Ab sofort werden die Mehrfachauswahlen durch ein Komma getrennt. Wie kann ich dies ändern, um diese mit Leerzeichen (oder einem anderen Trennzeichen) zu trennen? Antwort: Um diese mit einem anderen Trennzeichen als einem Komma zu trennen, müssen Sie die folgende Zeile des VBA-Codes ersetzen: Target.Value = Oldvalue & ", " & Newvalue durch diese Zeile des VBA-Codes: Target.Value = Oldvalue & " " & Neuer Wert Wenn Sie ein Komma mit einem anderen Zeichen ändern möchten, z. B. |, können Sie die folgende Codezeile verwenden: Target.Value = Oldvalue & "| " & Newvalue
F: Kann ich jede Auswahl in einer separaten Zeile in derselben Zelle abrufen? Antwort: Ja, das können Sie. Um dies zu erhalten, müssen Sie die folgende Zeile des VBA-Codes ersetzen: Target.Value = Oldvalue & ", " & Newvalue durch diese Codezeile: Target.Value = Oldvalue & vbNewLine & Newvalue vbNewLine fügt eine neue Zeile in dieselbe Zelle ein . Wenn Sie also eine Auswahl aus der Dropdown-Liste treffen, wird sie in eine neue Zeile eingefügt.
F: Kann ich die Mehrfachauswahlfunktionalität in einem geschützten Blatt aktivieren? Antwort: Ja, das können Sie. Dazu müssen Sie zwei Dinge tun: Fügen Sie dem Code die folgende Zeile hinzu (direkt nach der DIM-Anweisung): Me.Protect UserInterfaceOnly:=True Zweitens müssen Sie sicherstellen, dass die Zellen mit der Dropdown-Funktion mit Mehrfachauswahl nicht gesperrt sind, wenn Sie das gesamte Blatt schützen. Hier ist ein Tutorial dazu: Zellen in Excel sperren 

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave