Folgende Ausgangslage:
Ich habe einen Absenzplaner aufgebaut bei dem die Zellen der Wochenden und der allgemeinen Feiertage per bedingter Formatierung eingefäbrt sind. Die Zellen der Regionalen Feiertage werden per Makro, abhängig vom Arbeitsort des jeweiligen Arbeitnehmers automatisch mit der Zellenfarbe 40 (Hellorange) und einem "R" gefüllt. Bei allen anderen Absenzen werden die Zellen markiert und per Makro mit dem jeweiligen Buchstaben und Farbe gefüllt. Damit die Wochenenden, die allgemeinen und die regionalen Feiertage markiert werden können aber nicht verändert werden, habe ich untenstehendes Makro geschrieben, dass auch einwandfrei funktioniert.
Da ich aber etwas dazulernen möchte frage ich euch an ob man dieses Makro nicht vereinfachen könnte. Irgendwie habe ich das Gefühl, dass es einfacher gehen könnte.
Für eine Antwort danke ich euch im Voraus bestens.
Gruss
Roland
Sub farbe_rot()
Dim R As Range, Zelle As Range
'ActiveSheet.Unprotect
For Each Zelle In Selection
If Not Zelle.Interior.ColorIndex = 40 Then
If R Is Nothing Then
Set R = Zelle
Else
Set R = Union(R, Zelle)
End If
End If
Next Zelle
R.Select
With Selection
For Each Zelle In Selection
If Not Cells(206, Zelle.Column) = "X" And WeekDay(Cells(4, Zelle.Column)) <> "1" And WeekDay(Cells(4, Zelle.Column)) <> "7" Then
Zelle.Value = "F"
Zelle.Interior.ColorIndex = 3
End If
Next
End With
'ActiveSheet.Protect DrawingObjects:=True, contents:=True, Scenarios:=True
End Sub