ich hoffe auf eure Hilfe.
Es geht um einen Urlaubsplan der in Tabellenblatt 1 ist und einen Dienstplan in Tabellenblatt2, wenn im Urlaubsplan an Tag XY ein "T" eingetragen wird, ist am gleichen Tag in dem Dienstplan die Zelle hellrot eingefärbt. Dies habe ich über Bedingte Formatierung gelöst.
Nun zum Problem:
im Dienstplan soll im Bereich1 die Eingabe gelöscht werden sobald diese hellrot ist da es ja sonst zu Überschneidungen kommt, genauso wie an Feiertagen und an Wochenenden.
Mit meinem VBA Code klappt alles ganz gut bis auf die Erkennung von diesem hellrot (oder auch andere Farben) Ich vermute ganz stark dass dies mit der bedingten Formatierung zusammenhängt
bei Wochenenden und Feiertagen klappt dies ganz gut.
hier der Code:
If Not Intersect(Target, Range("C11", "KV22")) Is Nothing Then
Application.EnableEvents = False
Target.Value = Trim(UCase(Target.Text)) 'Leerzeichen entfernen und Kleinschreibung _
ersetzen
If Target.Cells.Interior.Color = RGB(191, 191, 191) Then 'Wenn Wochenende _
dann Inhalt Löschen
Target.Cells(1) = "" 'Löschen der Eingabe
ElseIf Target.Cells.Interior.Color = RGB(146, 208, 80) Then 'Wenn Feiertag _
dann Inhalt Löschen
Target.Cells(1) = "" 'Löschen der Eingabe
ElseIf Target.Cells.Interior.Color = RGB(255, 143, 143) Then 'Wenn Belegung _
durch Jahresplan dann Inhalt Löschen
Target.Cells(1) = "" 'Löschen der Eingabe
Else
If Not Target.Cells.Interior.Color = RGB(191, 191, 191) Or Target. _
Cells.Interior.Color = RGB(146, 208, 80) Or Target.Cells.Interior.Color = RGB(255, 143, 143) Then
Select Case Target.Text
Case "SC" ' erlaubte eingaben
Target.Select
Target.Cells.Interior.Color = RGB(0, 176, 240)
Case "" 'Legt fest das Eingaben wie Enter ignoriert werden
Target.Cells.Interior.Color = RGB(255, 255, 255)
Target.Cells.Font.Color = RGB(0, 0, 0)
Case Else
Target.Parent.Activate
Target.Select 'bei Fehler zurück zum Eingabefeld
Target.Cells(1) = "" 'Löschen der Eingabe
MsgBox ("Diese Eingabe ist nicht möglich." & vbNewLine & " _
Ihre Eingabe wurde gelöscht!") 'Textbox
End Select
End If
End If
Application.EnableEvents = True
End If
Vielen Dank für eure Hilfe
Gruß Daniel