ich suche nach einem Vba das mir die gesetzlichen Feiertage für Baden Württemberg anhand von einem Kalender mit fortlaufendem Datum anzeigt. Am besten wäre es wenn das Datum sich dann rot färben würde. Kann mir einer hier weiterhelfen?
Function Feiertag(Datum As Date) As String
Dim J%, D%
Dim O As Date
J = Year(Datum)
'Osterberechnung
D = (((255 - 11 * (J Mod 19)) - 21) Mod 30) + 21
O = DateSerial(J, 3, 1) + D + (D > 48) + 6 - _
((J + J \ 4 + D + (D > 48) + 1) Mod 7)
'Feiertage berechnen
Select Case Datum
Case DateSerial(J, 1, 1)
Feiertag = "Neujahr"
Case DateSerial(J, 1, 6)
Feiertag = "Dreikönig*"
Case DateAdd("D", -2, O)
Feiertag = "Karfreitag"
Case O
Feiertag = "Ostersonntag"
Case DateAdd("D", 1, O)
Feiertag = "Ostermontag"
Case DateSerial(J, 5, 1)
Feiertag = "Erster Mai"
Case DateAdd("D", 39, O)
Feiertag = "Christi Himmelfahrt"
Case DateAdd("D", 49, O)
Feiertag = "Pfingstsonntag"
Case DateAdd("D", 50, O)
Feiertag = "Pfingstmontag"
Case DateAdd("D", 60, O)
Feiertag = "Fronleichnam*"
Case DateSerial(J, 8, 15)
Feiertag = "Maria Himmelfahrt*"
Case DateSerial(J, 10, 3)
Feiertag = "Deutsche Einheit"
Case DateSerial(J, 11, 22) - (DateSerial(J, 11, 18) Mod 7)
Feiertag = "Buß- und Bettag*"
Case DateSerial(J, 10, 31)
Feiertag = "Reformationstag*"
Case DateSerial(J, 11, 1)
Feiertag = "Allerheiligen*"
Case DateSerial(J, 12, 24)
Feiertag = "Heilig Abend*"
Case DateSerial(J, 12, 25)
Feiertag = "EWeihnacht"
Case DateSerial(J, 12, 26)
Feiertag = "ZWeihnacht"
Case DateSerial(J, 12, 31)
Feiertag = "Silvester*"
Case Else
Feiertag = ""
End Select
End Function