Ich habe bisher immer die Stunden im dezimalen System eingegeben und berechnet (8:15 = 8,25). das wollte ich jetzt ändern.
Es funktioniert auch, nur um negative Stunden zu berechnen brauch ich die Option "1904-Datumswerte", dann funzts.
Sobald ich aber diese Option aktiviere, fällt mir die Anzeige für Ostern und Pfingsten raus, sie werden einfach nicht mehr angezeigt.
Jetzt bräuchte ich einen Rat, weiter unten ist diese Funktion aufgeführt, kann man daran etwas ändern, so dass mir diese Feiertage wieder angezeigt werden?
Oder liegt das Problem bei Excel selbst, so das das einfach nicht möglich ist?
Ich zermartere mir schon seit 2 Tagen den Kopf, komm aber auf keine Lösung.
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 0 > 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
Function D_KALENDERWOCHE(dat As Date) As Integer
'Kalenderwoche nach DIN 1355
Dim a As Integer
a = Int((dat - DateSerial(Year(dat), 1, 1) + _
((Weekday(DateSerial(Year(dat), 1, 1)) + 1) Mod 7) - 3) / 7) + 1
If a = 0 Then
a = D_KALENDERWOCHE(DateSerial(Year(dat) - 1, 12, 31))
ElseIf a = 53 And (Weekday(DateSerial(Year(dat), 12, 31)) - 1) Mod 7 <= 3 Then
a = 1
End If
D_KALENDERWOCHE = a
End Function
Bei näherer Einsicht, kann ich den Kalender auch per eMail mitsenden.
Schönes WE noch
mfg
Gerhard S.