Public Function
Feiertagsdatum(ByVal Feiertag As Feiertage, Optional ByVal Jahr As Long) As Date
' Gibt das Datum eines datumsfesten oder beweglichen Feiertags zurück.
' Wurde kein Jahr angegeben, wird das aktuelle
Jahr verwendet:
If Jahr = 0 Then
Jahr = Year(Now)
End If
' Feiertage ermitteln:
Select Case Feiertag
Case ftNeujahr
Feiertagsdatum = DateSerial(Jahr, 1, 1)
Case ftErscheinungsfest
Feiertagsdatum = DateSerial(Jahr, 1, 6)
Case ftKarfreitag
Feiertagsdatum = DateAdd("d", -2, Ostersonntag(Jahr))
Case ftOstersonntag
Feiertagsdatum = Ostersonntag(Jahr)
Case ftOstermontag
Feiertagsdatum = DateAdd("d", 1,
Ostersonntag(Jahr))
Case ftMaifeiertag
Feiertagsdatum = DateSerial(Jahr, 5, 1)
Case ftChristiHimmelfahrt
Feiertagsdatum = DateAdd("d", 39,
Ostersonntag(Jahr))
Case ftPfingstmontag
Feiertagsdatum = DateAdd("d", 50,
Ostersonntag(Jahr))
Case ftFronleichnam
Feiertagsdatum = DateAdd("d", 60,
Ostersonntag(Jahr))
Case ftMariaeHimmelfahrt
Feiertagsdatum = DateSerial(Jahr, 8, 15)
Case ftTagDerEinheit
Feiertagsdatum = DateSerial(Jahr, 10, 3)
Case ftReformationstag
Feiertagsdatum = DateSerial(Jahr, 10,
31)
Case ftAllerheiligen
Feiertagsdatum = DateSerial(Jahr, 11, 1)
Case ftBussUndBettag
Feiertagsdatum = DateSerial(Jahr, 12, 25) - Weekday(DateSerial(Jahr,
12, 25), vbMonday) - 4 * 7 - vbWednesday
Case ftWeihnachtsfeiertag1
Feiertagsdatum = DateSerial(Jahr, 12, 25)
Case ftWeihnachtsfeiertag2
Feiertagsdatum = DateSerial(Jahr, 12, 26)
End Select
End Function
|