AW: Feiertage ausblenden
01.03.2025 09:41:26
RPP63
Moin!
Du musst das Change mit einem ElseIf-Zweig erweitern.
Ich nehme übrigens statt cel.Value = "" cel.ClearContents
Kommt auf das gleiche hinaus, ist aber "sauberer".
Ich musste übrigens etwas nach der Feiertagsliste suchen.
Besser wäre die in einem eigenen Blatt aufgehoben und mit einem Namen versehen.
Begründung:
Solltest Du irgendwann komplette Zeilen im Bereich A:AS löschen oder hinzufügen, funktioniert das hartkodierte Makro nicht mehr.
Egal, ich habe dies nicht berücksichtigt.
Das erweiterte Change lautet dann (Deklarationen sollten am Anfang des Makros stehen):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim z, s, cel, FT
If Not Intersect(Target, Range("J6:NK57")) Is Nothing Then
For Each cel In Target
z = cel.Row: s = cel.Column
If Weekday(Cells(6, s), 2) > 5 Then 'Stop
Application.EnableEvents = False
cel.Value = ""
Application.EnableEvents = True
ElseIf Not IsError(Application.Match(Cells(6, s), Range("AT63:AT77"), 0)) Then
Application.EnableEvents = False
cel.ClearContents
Application.EnableEvents = True
End If
Next
End If
End Sub
Gruß Ralf