Hallo liebe Experten! Leider habe ich zu wenig Ahnung von VBA als dass ich selbst weiterkomme. Habe Google schon kräftig bemüht, finde aber das Gesuchte nicht.
Ziel: Eine Mehrfachauswahl in einem Dropdown-Menü in einer Excel-Tabelle ermöglichen (also 2 Antworten aus einem Dropdown wählen können, Duplikate ausgeschlossen).
Status: im Internet habe ich einen Code gefunden, der wunderbar funktioniert.
Problem: Dieser Code funktioniert derzeit für 2 benachbarte Spalten ("AL2:AM100"). Ich benötige diese Funktion aber für viele weitere Spalten (AR und AS; AX und AY usw usw; es sind - in meinem speziellen Fall - immer 2 Spalten nebeneinander).
Wie kann ich den "Range" entsprechend erweitern? Ich habe alles Mögliche mit "or" ausprobiert, nix klappt.
Kann mir hier bitte jemand weiterhelfen? Schon jetzt herzlichen Dank!!
Hier ist der Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2019/11/13
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
'** Mehrfachauswahl im definierten Bereich (Bsp. B4:B14) durchführen
If Not Application.Intersect(Target, Range("AL2:AM100")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
If xRng Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not Application.Intersect(Target, xRng) Is Nothing Then
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or _
InStr(1, xValue1, ", " & xValue2) Or _
InStr(1, xValue1, xValue2 & ",") Then
Target.Value = xValue1
Else
Target.Value = xValue1 & ", " & xValue2
End If
End If
End If
End If
End If
End If
Application.EnableEvents = True
End Sub
|