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
Ich habe in meiner Excel-Datei mehrere Dropdown-Listen bei denen ich per VBA-Befehl Mehrfachauswahl ermögliche.
Hier ist der verwendete Code:
Diesen habe ich nicht selber gemacht (meine VBA-Kenntnisse laufen gegen Null ), 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
da mir hier bei meinem letzten Excel-Problem so super kompetent geholfen wurde, komme ich jetzt voller Hoffnung mit einem anderen Problem hierher
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 ), 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