Startseite

Adventfeiertage berechnen

Neben den beweglichen Osterfeiertagen gibt es auch bewegliche Feiertage in der Vorweihnachtszeit. Diese haben leider keine Verbindung mit den Osterfeiertagen, so das die "Osterformeln" nicht geeignet sind, auch diese Termine zu ermitteln.
Die Feiertage der Vorweihnachtszeit hängen vom 1. Advent ab. Für den Termin des 1. Advent habe ich verschiedene Definitionen gefunden:

  • Der erste Advent ist der Sonntag zwischen dem 27.11. und dem 03.12.
  • Der erste Advent ist der erste Sonntag nach dem 26.11.
  • Der vierte Advend ist der letzte Sonntag vor dem 25.12.
  • Diese Funktion berechnet das Datum des 1. Advent ausgehend von der Tatsache, dass der vierte Advent nicht gefeiert wird, wenn der heilige Abend auf einen Sonntag fällt:
    Function advent(Jahr As Integer) As Date
    ' Berechnet das Datum des 1. Adventsonntags
    ' © Klaus-Dieter Oppermann
    ' 05.02.2008 Quelltext optimiert
    advent = DateSerial(Jahr, 12, 24) - 20 - Weekday(DateSerial(Jahr, 12, 24))    ' 24.12. minus Tagesdifferenz
    End Function
    
    Diese Funktion, die ich von Jürgen Mader bekommen habe, berechnet den 1. Advent auf der Basis der dritten Definition der Adventtermine:
    Public Function fn_Advent(Optional ByVal Jahr As Long) As Date
    ' Der hier zurückgegebene 1. Advent liegt 21 Tage (3 Wochen) vor dem 4. Advent
    ' Der 4. Advent ist der Sonntag der VOR(!) dem 25.12. liegt
    ' © Jürgen Mader
    Dim dtDez25 As Date
    Dim iWtDez25 As Integer
    If Jahr = 0 Then Jahr = Year(Now)
    ' Datum des 25.12. ermitteln
    dtDez25 = DateSerial(Jahr, 12, 25)
    ' Wochentag des 25.12. ermitteln
    iWtDez25 = Weekday(dtDez25, vbMonday)
    ' Rückgabewert als Datum bereitstellen
    fn_Advent = DateAdd("d", -(iWtDez25 + 21), dtDez25)
    End Function '<<< fn_Advent >>>

    Code eingefügt mit: Excel Code Jeanie
    Die Funktionen können genau so, wie ich es für die Osterfeiertage beschrieben habe, in das Tabellenblatt Termine eingefügt werden.
    Wie weiter oben schon erläutert, kann mit dieser Funktion nur der 1. Advent berechnet werden. Die Formel muß für die anderen Feiertage modifiziert werden. Wie sehen wir in der folgenden Tabelle:
    Feiertag Differenz zum 1. Advent Formel (Klaus-Dieter) Formel (Jürgen Mader)
    Volkstrauertag -14 =advent(Kalender!A1)-14 =fn_Advent(Kalender!A1)-14
    Bußtag -11 =advent(Kalender!A1)-11 =fn_Advent(Kalender!A1)-11
    Totensonntag -7 =advent(Kalender!A1)-7 =fn_Advent(Kalender!A1)-7
    1. Advent   =advent(Kalender!A1) =fn_Advent(Kalender!A1)
    2. Advent 7 =advent(Kalender!A1)+7 =fn_Advent(Kalender!A1)+7
    3. Advent 14 =advent(Kalender!A1)+14 =fn_Advent(Kalender!A1)+14
    4. Advent 21 =advent(Kalender!A1)+21 =fn_Advent(Kalender!A1)+21
    Nachdem alle Formeln und Feiertage eingetragen sind, sollte das Ergebnis so aussehen:
    Wichtig ist dabei, daß der Termin für den Heiligen Abend unbedingt nach den Adventsonntagen eingetragen wird. Da der 4. Advent auf den Heiligen Abend fallen kann, steht dann im Kalender der Heilige Abend.