Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Mehrere DropDown-Listen mit Mehrfachauswahl
#1
Hallo,
es wäre klasse, wenn ihr mir mit folgendem Problem weiterhelfen könntet.

Ich möchte in meiner Tabelle insgesamt drei DropDown-Listen mit Mehrfachauswahl erstellen. 
Dazu habe ich den bekannten Code verwendet (siehe unten) und die Mehrfachauswahl für eine DropDown-Liste erstellt. Das klappt bei mir aber nur für eine Liste, nicht für drei..

Meine Frage: Wie muss der Code angepasst werden, dass die Mehrfachauswahl für drei Listen funktioniert und nicht nur für eine?

(Mehrfachauswahl für die Zeilen F4:F104, G4:G104, H4:H104)

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("F4:F104")) 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



Vielen Dank für eure Hilfe!
Antwortento top
#2
Hi Basti

Hier hatte ich den Code schon einmal an Bedürfnisse angepasst.
https://www.clever-excel-forum.de/Thread...te-Auswahl

Bei dir bin ich mir aber noch nicht sicher ob ich dein Wunsch richtig verstanden habe.

Ich Rate mal.
Ersetze die Zeile

If Not Application.Intersect(Target, Range("F4:F104")) Is Nothing Then

durch die

If Not Application.Intersect(Target, Range("F4:H104")) Is Nothing Then

Gruß Elex

PS: Wenns nicht passt dann bitte Beispieldatei zeigen.
Antwortento top
#3
Hi Elex, 
danke sehr für die Lösung - funktioniert bestens! 
Simpler, als vorher angenommen..

Lg 
Basti

[/quote]
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste