von Charly » Mo, 06.03.2006 21:20
Hallo!
Man kann die Funktion Ostersonntag auch selbst programmieren. Grundlage ist die Formel des Mathematikers Friedrich Gauß.
Um nicht mit der eingebauten Funktion Ostersonntag in Konflikt zu kommen, habe ich die Funktion Ostertag genannt.
Code: Alles auswählen
Function Ostertag(Jahreszahl)
a = Jahreszahl - 1900
b = a Mod 19
c = (7 * b + 1) \ 19
d = (11 * b + 4 - c) Mod 29
e = a \ 4
f = (a + e + 31 - d) Mod 7
g = 25 - d - f
h = 4
if g < 1 then
h = 3
g = g + 31
end if
Ostertag = Format(DateSerial(Jahreszahl, h, g), _
"dd.mm.yyyy")
End Function
Ich habe das schon mal in Excel verwendet. In OpenOffice hat mir jetzt bei der Umsetzung das DateSerial Schwierigkeiten gemacht, Excel kann da Minustage (=g) verarbeiten, OpenOffice dagegen nicht. Aber mit meiner IF-Abfrage konnte ich das Problem lösen.
Gruß
Charly
Hallo!
Man kann die Funktion Ostersonntag auch selbst programmieren. Grundlage ist die Formel des Mathematikers Friedrich Gauß.
Um nicht mit der eingebauten Funktion Ostersonntag in Konflikt zu kommen, habe ich die Funktion Ostertag genannt.
[code]
Function Ostertag(Jahreszahl)
a = Jahreszahl - 1900
b = a Mod 19
c = (7 * b + 1) \ 19
d = (11 * b + 4 - c) Mod 29
e = a \ 4
f = (a + e + 31 - d) Mod 7
g = 25 - d - f
h = 4
if g < 1 then
h = 3
g = g + 31
end if
Ostertag = Format(DateSerial(Jahreszahl, h, g), _
"dd.mm.yyyy")
End Function
[/code]
Ich habe das schon mal in Excel verwendet. In OpenOffice hat mir jetzt bei der Umsetzung das DateSerial Schwierigkeiten gemacht, Excel kann da Minustage (=g) verarbeiten, OpenOffice dagegen nicht. Aber mit meiner IF-Abfrage konnte ich das Problem lösen.
Gruß
Charly