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.

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