Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Dropdown-Menü mit Mehrfachwahl einzelne Inhalte löschen
#1
Hallo Zusammen,

da mir hier bei meinem letzten Excel-Problem so super kompetent geholfen wurde, komme ich jetzt voller Hoffnung mit einem anderen Problem hierher Angel 

Ich habe in meiner Excel-Datei mehrere Dropdown-Listen bei denen ich per VBA-Befehl Mehrfachauswahl ermögliche.

Hier ist der verwendete Code:

Zitat:Private Sub Worksheet_Change(ByVal Target As Range)
    'Updated by Extendoffice 2019/11/13
    Dim xRng As Range
    Set rngBereich = Range("D:AA")
    If Not Intersect(Target, rngBereich) Is Nothing Then
    Dim xValue1 As String
    Dim xValue2 As String
    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
    Application.EnableEvents = True
End If
End Sub


Diesen habe ich nicht selber gemacht (meine VBA-Kenntnisse laufen gegen Null Blush ), sondern habe ihn aus verschieden Vorlagen aus dem Web zusammengebastelt.

Das Problem ist nun, dass sobald eine Mehrfachwahl stattgefunden hat, einzelne Eintragungen nicht mehr gelöscht werden können, sodass für Korrekturen der gesamte Zelleninhalt gelöscht und anschließend neu gewählt werden muss. Das ist leicht umständlich und auf Dauer nervig. Wahrscheinlich liegt das an der Datenprüfung, die hinter der Listenauswahl liegt, oder?

Gibt es da einen Weg die Löschung von einzelnen Auswahlen zu ermöglichen, ohne dafür den gesamten Zelleninahlt löschen zu müssen?

Ich danke schon mal für Eure Hilfe im Vorraus!

Viele Grüße,
Johannes
Antworten Top
#2
Hallöchen,

Du könntest z.B. aus dieser Bedingung
If xValue1 <> "" Then

diese machen:
If xValue1 <> "" And Len(xValue1) < Len(xValue2) Then

dann wird eine kürzere Eingabe ohne weitere Änderung erlaubt. Allerdings ist damit alles möglich, es muss eben nur kürzer als vorher sein.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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