Osterdatum
20.06.2015 10:58:51
mike49
Hallo Leute,
ich habe eine Mappe mit Monatsblättern und ein Blatt "Feiertage".
Dort sind die Feiertage aufgelistet, auf die die Blätter Bezug nehmen.
Um nun mit negativen Stunden rechnen zu können, habe ich unter Optionen "1904-Datumswerte verwenden" angehakt. Jetzt werden die Minusstunden korrekt angezeigt.
Der Nachteil allerdings ist der, dass im Blatt "Feiertage" immer ein falsches Datum angezeigt wird. In der Zeile vom Ostersonntag steht die Formel=Osterdatum(gewJahr) und es wird SA 06.04.2019 angezeigt, obwohl ich das Jahr 2015 gewählt habe.
Das Makro hierzu lautet:
Function Osterdatum(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
Osterdatum = DateSerial(J, Monat, O)
End Function
Wie kann man das korrigieren?
Gruß
mike49