Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
136to140
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
136to140
136to140
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

1904-Datumswerte

1904-Datumswerte
19.07.2002 20:04:07
Gerhard S.
Hallo, ich hab ein Problem mit den 1904-Datumswerten, ich verwende einen Kalender eines gewissen Rainer Bergmann, Almanach.xls genannt. Das ist so weit so gut. ich hab mir diesen Kalender soweit umgebaut, so dass ich meine Arbeitsstunden darin eintragen kann. Da ich aber im Schichtdienst bin, ist die Arbeitszeit pro Monat unregelmässig, mal mehr mal weniger als die Regelarbeitszeit.
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.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: 1904-Datumswerte
20.07.2002 08:56:12
Hans W. Herber
Hallo Gerhard,

verwende der Einfachheit halber die folgenden Funktionen:

Ostern (j=Bereichsname für die Jahreszahl):
=DM((TAG(MINUTE(j/38)/2+55)&".4."&j)/7;)*7-6
Autor: Norbert Hetterich

Kalenderwoche:
=KÜRZEN((A1-WOCHENTAG(A1;2)-DATUM(JAHR(A1+4-WOCHENTAG(A1;2));1;-10))/7)
Autor: Peter Dorigo

Allerdings ändert das nichts daran, dass Excel die Jahre um 4 Jahre hochzählt. Du wirst bei der 1904er Einstellung nicht vernünftig mit Datumswerten rechnen können.

Die Excel'sche Vorgehensweise ist wohl, dass die 4 Jahre draufgerechnet, bei der Bildschirmansicht die Datumsangaben aber entsprechend korrigiert werden.

Beispiel:
Trage (1904er deaktiviert) als Datum den 20.7.2002 ein.
Neben der Eingabezelle trägst Du einen Link zur Eingbezelle ein, nimmst dort aber die Datumsformatierung raus. Du bekommst den Wert 37457 angezeigt.
Jetzt schaltest Du die 1904er ein. Das Datum wird um 4 Jahre und 1 Tag hochgezählt, während sich der Wert der nicht als Datum formatierten Zelle nicht ändert. Daraus kann gefolgert werden, dass es sich bei der Datumsdarstellung nur um eine Art Formatierung handelt, die bei 1904er Darstellung ein korrigiertes Datum darstellt.
Versuche, in Deiner benutzerdefinierten Funktionen oder meinen Formeln einfach nur 4 Jahre abzuziehen, scheitern an den Excel'schen Interpretationsversuchen zu einer korrigierten Bildschirmdarstellung.

Die Kombination der 1904er Einstellung und Datumseingaben in der gleichen Arbeitsmappe ist m.E. zu meiden.

Alternativen: Da, wo es um Minuszeiten geht, mit Industriezeiten rechnen oder das Datum in die Zeitberechnung mit einbeziehen.

hans

Anzeige
Re: 1904-Datumswerte
20.07.2002 20:21:46
Gerhard S.
Hallo Hans,
also das mit den 4 Jahren und einem Tag kann ich noch nacharbeiten, aber mit den Funktionen habe ich so meine Probleme. Wo soll ich die denn einbauen? Ich bin da leider nicht so fit wie Du. Da erstrahlt die "Einfachheit" in blankem Entsetzen, wo es denn nun hingeht. Die ganze Funktion von dem Kalender hab ich einmal downgeloadet, und jetzt wo ich das berechnen von negativen Zeiten erlernt habe, kommt der nächste Hammer.
Kannst Du mir da bitte noch einmal weiterhelfen?

Schönes WE noch

mfg

Gerhard S.

Re: 1904-Datumswerte
21.07.2002 13:51:53
Berai
Hallo Gerhard,

wurde soeben auf deinen Beitrag aufmerksam gemacht.
Da ich nun nicht weiß welchen Kalender du von mir umgearbeitet hast, mache ich dir den Vorschlag, mir die Tabelle mal zu mailen und ich schau mir mal an, was man da machen kann.

Gruß
Rainer

Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige