Dropdown Liste mit Mehrfachauswahl

Standardmäßig kann in einem Dropdownfeld nur ein Eintrag ausgewählt werden
(Daten -> Datentools -> Datenüberprüfung).

Ein dynamisches Dropdownfeld kann folgendermaßen realisiert werden





abhängige, dynamische Dropdownfelder können folgendermaßen in Excel  realisiert werden



weiterführende Informationen siehe hier


Um eine Mehrfachauswahl zu realisieren, kann der folgende VBA-Code im betreffenden Arbeitsblatt verwendet werden (rechte Maustaste auf Arbeitsblatt -> Code einfügen).


--- SCHNIPP --

Private Sub Worksheet_Change(ByVal Target As Range)
'** Mehrfachauswahl über DropDown-Liste (Gültigkeitsprüfung)
'** Einfügen im Code-Container des betreffenden Arbeitsblattes

'** Dimensionierung der Variablen
Dim rngDV As Range
Dim wert_old As String
Dim wertnew As String

'** Errorhandling
On Error GoTo Errorhandling

'** Mehrfachauswahl im definierten Bereich (Bsp. B4:B14) durchführen
If Not Application.Intersect(Target, Range("B4:B14")) Is Nothing Then

  '**Range definieren
  Set rngDV = Target.SpecialCells(xlCellTypeAllValidation)
  If rngDV Is Nothing Then GoTo Errorhandling
  
  '** Prüfen, ob eine gültige Zelle ausgewählt wurde und Werte eintragen
  If Not Application.Intersect(Target, rngDV) Is Nothing Then
    Application.EnableEvents = False
    wertnew = Target.Value
    Application.Undo
    wertold = Target.Value
    Target.Value = wertnew
    If wertold <> "" Then
      If wertnew <> "" Then
        Target.Value = wertold & ", " & wertnew
      End If
    End If
  End If
  Application.EnableEvents = True
End If

Errorhandling:
Application.EnableEvents = True
End Sub

--- SCHNAPP ---


detaillierte Informationen finden Sie unter folgendem link
http://www.excel-inside.de/funktionen-a-tipps/895-dropdown-liste-mit-mehrfachauswahl

Kommentare

  1. Vielen Dank.
    Funktioniert hervorragend.

    Aber ich habe in der gleichen Mappe in der ich deinen VBA-Code nutze eine weitere Spalte in der ich eine Mehrfachauswahl benötige.

    Welche Ergänzung benötigt der Code?
    Wäre es einfacher die Mehrfachauswahl für die gesamte Mappe freizugeben?

    Danke und Grüße
    Jan

    AntwortenLöschen
  2. Der Ansatz mit VBA ist an ein Worksheet Objekt = Excel Tabellenblatt gebunden. D.h. der VBA Code muß für jedes Excel Tabellenblatt einkopiert werden, in welchem eine Mehrfachauswahl umgesetzt werden soll

    AntwortenLöschen

Kommentar veröffentlichen

Beliebte Posts aus diesem Blog

Vergleich mit 2 Bedingungen, INDEX(), VERGLEICH()

nützliche Text Funktionen in Power Query