ich habe einen Listenbereich mit Mehrfachauswahl für Mitarbeiter angelegt.
Mein Problem ist nun folgendes: Wenn ich eine Zelle, die ich farblich hinterlegt und mit Mitarbeitern gefüllt habe, in eine andere Zelle in dem Listenbereich kopieren will, erscheint die Füllfarbe für nur ca. 1 Sekunde und wird dann weiß. Der Text wird angezeigt. Wenn ich allerdings die Formatübertragung nutze, übernimmt Excel das Format durch ziehen in mehrere Zellen aber nicht in eine einzelne.
Nutze für den Listenbereich folgenden VBA-Code den ich im Internet gefunden habe:
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("D14:W70")) 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
wert_old = Target.Value
Target.Value = wertnew
If wert_old "" Then
If wertnew "" Then
Target.Value = wert_old & ", " & wertnew
End If
End If
End If
End If
Application.EnableEvents = True
Exit Sub
Errorhandling:
Application.EnableEvents = True
Exit Sub
End Sub
Meine Vermutung ist das der Fehler hierbei etwas mit dem Variablen Typ String und der If-Schleife zu tun hat. Die Frage: Wie kann ich es umschreiben/ergänzen, sodass die kopierte Füllfarbe da bleibt?Grüße und Danke schonmal,
René