Eine neue Funktion ermittelt den Ostersonntag

In den Tips & Tricks der CHIP-Ausgabe vom November 1997 wurde beschrieben, wie man in Lotus 1-2-3 die beweglichen Feiertage ermitteln kann, weil dem Programm eine entsprechende Funktion fehlt. Leider sucht man auch in Excel eine Funktion zur Ermittlung der beweglichen Feiertage vergeblich. Allerdings können Sie mit dem im Kasten abgedruckten Makro Excel um die Funktion »Ostern« erweitern, die Sie wie jede andere Excel-Funktion verwenden können.
Um die Funktion »Ostern« in Excel einzubauen, müssen Sie zunächst mit »Einfügen | Makro | Visual Basic-Modul« ein neues Modul-Blatt anlegen und das im Kasten abgedruckte Listing eingeben. Sie können die Funktion testen, indem Sie in der Arbeitsmappe zu einem normalen Tabellenblatt wechseln und »Einfügen | Funktion« wählen. Wenn Sie unter »Kategorie« den Eintrag »Benutzerdefiniert« markieren, dann erscheint in der Liste rechts die neue Funktion »Ostern«.
Nachdem Sie sie ausgewählt haben, klicken Sie auf die Schaltfläche »Weiter« und geben an, für welches Jahr zwischen 1900 und 2078 Excel den Ostersonntag ermitteln soll. Ein Klick auf die Schaltfläche »Ende« fügt das ermittelte Datum in das Dokument ein.
Normalerweise erscheint das Datum jetzt in Form einer fünfstelligen Zahl. Um diese Zahl in ein Datum umzuwandeln, weisen Sie der Zelle mit »Format | Zelle | Zahlen | Datum« das gewünschte Datumsformat zu.
Damit die Funktion in allen Arbeitsmappen zur Verfügung steht, müssen Sie sie in ein Add-In umwandeln. Dafür wechseln Sie wieder zu der Seite mit dem Listing und wählen dann den Menüpunkt »Extras | Add-In erstellen«. Geben Sie einen Pfad für die Datei und einen Dateinamen an und bestätigen Sie mit »OK«.
Nun müssen Sie das Add-In nur noch dauerhaft in Excel einbinden. Dafür wählen Sie »Extras | Add-In-Manager« und wählen nach einem Klick auf »Durchsuchen« die soeben erzeugte Datei aus. Sie erscheint nun in der Liste der »Verfügbaren Add-Ins« des Add-In-Managers. Wenn die Funktion mit einem Häkchen versehen ist, steht die Funktion in Excel unter »Einfügen | Funktion | Benutzerdefiniert« jederzeit zur Verfügung.

Excel-Funktion zur Ermittlung des Ostersonntags:

Option Explicit

Function Ostern(Jahr As Variant) As Date
Dim A, B, C, D, E, J, M, N, O, Monat As Integer
If IsDate(Jahr) = True Then
J = Int(Year(Jahr))
ElseIf IsNumeric(Jahr) Then
J = Int(Jahr)
Else
Exit Function
End If
If J < 1900 Or J > 2078 Then
Exit Function
End If
M = 24
N = 5
A = J Mod 19
B = J Mod 4
C = J Mod 7
D = (19 * A + M) Mod 30
E = ((2 * B) + (4 * C) + (6 * D) + N) Mod 7
O = 22 + D + E
If O > 31 Then
O = D + E - 9
Monat = 4
If O = 26 Then O = 19
If O = 25 And D = 28 And (J Mod 19) > 10 Then O = 18
Else
Monat = 3
End If
Ostern = DateSerial(J, Monat, O)
End Function