Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
140to144
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
140to144
140to144
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

1.1.1900

1.1.1900
01.08.2002 12:47:06
Nele
Hallo
Ich hab ein Problem
Ich führe einige Berechnungen mit Uhrzeiten durch und bei manchen Ergebnissen erscheint dann 1.1.1900 oder 31.12.1899 03:00
Wie kann ich das beseitigen? Was ist falsch?
Danke
Nele

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: 1.1.1900
01.08.2002 12:59:06
Charlie
Hallo, Nele!

Das liegt am Zahlenformat der Zelle.

Im 1. Fall enthält die Zelle Uhrzeit, ist aber mit dem Datumsformat "TT.MM.JJJJ" belegt. Im zweiten Fall ist der Zelle das Format "TT.MM.JJJJ hh:mm" zugewiesen.

Achte darauf, dass Zellen mit Uhrzeiten auch als solche formatiert sind.

Viel Erfolg,
Charlie

Re: 1.1.1900
01.08.2002 13:25:25
Nele

Die Zellen sind alle für die Uhrzeit formatiert. Also [h],mm
Das Problem ist habe ich grad festgestellt, dass wenn die Summe der Stunden =24 ist dann macht er daraus 31.12.1899
und ist sie größer als 24 dann ist es 31.12.1899+ Stunden die drüber sind
Warum?? :(
Anzeige
Re: 1.1.1900
01.08.2002 13:54:19
Charlie
Hallo, Nele!

Also, wenn ich Zellen mit dem Format [h]:mm belege und dann z.B. einen Wert kleiner 24 (z.B. 23:10) eingebe, erhalte ich das Ergebnis sowohl in der Zelle als auch in der Bearbeitungszeile genau so angezeigt. Ist der Wert größer 24 (z.B. 25:30), dann wird das in der Zelle so angezeigt, in der Bearbeitungszeile sehe ich aber "01.01.1900 01:30:00". Warum das so ist? In Excel beginnt die Datumsberechnung mit 1900 und Excel "weiß" auch, dass ein Tag 24 Stunden hat und rechnet daher mit 1 Tag, 1 Stunde und 30 Minuten.

Wenn ich aber die Summe mehrerer Uhrzeiten bilde, dann ist das Ergebnis in der Zelle mit der Summenformel immer die genaue Uhrzeit. In der Bearbeitungszeile sehe ich dann (na eh klar) die Formel.

Ich kann Dein Problem mit dem 31.12.1899 + Stunden über 24 leider nicht nachvollziehen.

Sorry,
Charlie

Anzeige
Re: 1.1.1900
01.08.2002 14:50:59
Nele
Mein Problem ist das er wenn es 24 Stunden sind eine 0 schreibt.
Wenn ich nur die Summe nehme die in Excel vorgegeben ist dann schreibt er 24 h, aber ich programmier das in VBA und da is dann die Summe plötzlich 0 bei 24 ( sind es 25 Stunden schreibt er auch 25 in die Zelle)
Bist du sicher das er immer die genaue Datumsangabe in der Bearbeitungszeile schreibt? Denk ich nich

Re: 1.1.1900
01.08.2002 14:53:21
Ingo
Hallo Nele,
bin jetzt zwar auch net grad der hellste, aber hatte mal nen ähnliches prob und konnte es lösen, indem ich nicht das normale uhrzeitformat (13:30) nahm, sonder das "dreistellige" (37:30:55)!
Hier rechnet excel dann irgendwie anders. Das hatte zumindest bei mir zum ziel geführt :)
Gruß
Ingo
Anzeige
Re: 1.1.1900
01.08.2002 15:12:33
Charlie
Hallo, Nele!

Nochmal:
Wenn ich in eine Zelle mit dem Format "[h]:mm" 25:30 eingebe, dann steht in der Zelle 25:30, in der Bearbeitungszeile sehe ich aber 01.01.1900 01:30:00.

Das ist so, wenn ich den Wert direkt oder als Ergebnis einer Addition in VBA (davon war bisher nicht die Rede) in die Zelle schreibe, z.B.:
in Zelle F1 steht 12:00 und in Zelle G1 steht 13:30, dann ergibt
Range("E1") = Range("F1") + Range("G1")
in der Zelle E1 25:30, in der Bearbeitungszeile 01.01.1900 01:30:00.

Steht in Zelle F1 12:00 und in Zelle G1 10:15, dann trägt obiger Befehl in Zelle E1 22:15 ein und in der Bearbeitungszeile sehe ich 22:15:00 (ohne vorangestelltes Datum).

Das gleiche Ergebnis habe ich auch, wenn ich die Summenfunktion verwende:
Range("E1") = WorksheetFunction.Sum(Range("F1:G1"))

Als Ergebnis einer Formelberechnung in der Tabelle erhalte ich immer die korrekte Anzeige in der Zelle.

Vielleicht könntest Du mal die entsprechenden Schnipsel aus Deinem Code posten?

Gruß,
Charlie

Anzeige
Re: 1.1.1900
01.08.2002 15:51:12
Nele
also in meiner Rechnung vergleicht er ob der Inhalt der einen Zelle mit dem Inhalt einer anderen übereinstimmt wenn ja dann nimmt er die Werte aus den Zellen daneben und rechnet aus wieviele Tagarbeitsstunden es sind

Ich Poste mal den Teil wo ich denke das dort der Fehler drin liegt
also in der Addition der Tagstunden

With Worksheets(2)
Spalte1 = 2
Spalte2 = 2
Zeile1 = Zeile
A = 1
L = 3 * (datum())
For M = 1 To L
Sp = .Cells(Zeile1, Spalte1).Value
T = CDate(.Cells(8, Spalte2).Value)

y = Tabelle1.Zaehlen()

Zeile3 = 16
N = 1
For N = 1 To y
If Tabelle1.Cells(Zeile3, 5).Interior.ColorIndex = Tabelle1.Range("I16").Interior.ColorIndex And Tabelle1.Cells(Zeile3, 5).Value = Sp Then
Anfang = CVDate(Tabelle1.Cells(Zeile3, 6).Value)
Ende = CVDate(Tabelle1.Cells(Zeile3, 7).Value)
Nacht = Nacht_Woche(Anfang, Ende, T) + Nacht
Tag = Tag_Woche(Anfang, Ende, T) + Tag
Feier = Arbeitszeit(T, Anfang, Ende) + Feier
Sonntag1 = Sonntag(T, Anfang, Ende) + Sonntag1
End If
Zeile3 = Zeile3 + 1
Next N
Spalte1 = Spalte1 + 1
If A = 3 Then
Spalte2 = Spalte2 + 3
A = 0
End If
A = A + 1
Next M

Tabelle2.Cells(Zeile, 99).Value = Nacht
Tabelle2.Cells(Zeile, 98).Value = Tag
Tabelle2.Cells(Zeile, 100).Value = Sonntag1
Tabelle2.Cells(Zeile, 101).Value = Feier
Zeile1 = 0
Nacht = 0
Tag = 0
Feier = 0
Sonntag1 = 0
End With


Gruß Nele

Anzeige
Re: 1.1.1900
01.08.2002 16:30:11
Charlie
Hallo, Nele!

Ich hab's!!

Wenn ich mich nicht irre, gefinden sich in den Zellen, die in die Variablen "Anfang" und "Ende" eingelesen werden, Uhrzeiten. Der Fehler wird durch die Umwandlungsfunktion "CDate" verursacht. Diese wandelt die Uhrzeit in ein Datum um und Du rechnest plötzlich mit "31.12.1899 ...." weiter. Lass die Umwandlung weg und lass Excel mit den seriellen Zahlen rechnen, dann funktioniert es auch.

Sollte das Problem dadurch nicht gelöst sein, kannst Du mir die Datei mailen? Da Du verschiedene Functions verwendest kann ich nämlich nicht nachvollziehen, was es damit eventuell auf sich hat.

Viel Erfolg,
Charlie

Anzeige
Re: 1.1.1900
01.08.2002 18:08:50
Sigi E.
Hallo Nele und Charlie,

die Kalender in Excel und VBA stimmen erst ab Datum 01.03.1900
überein. Vor dem 01.03.1900 weichen sie voneinander ab!
Microsoft hat in Excel auch den 29.02.1900 integriert; doch den
hat es nie gegeben (1900 war kein Schaltjahr).
In VBA wurde dieser Fehler nicht übernommen.

Deshalb ist in Excel der 1. Tag der 01.01.1900 in VBA jedoch der
31.12.1899!! Falls Datumangaben vor dem 01.03.1900 zwischen Excel
und VBA hin- und herwandern, muß ein Tag Differenz berücksichtigt
werden.

Gruß
Sigi

Re: 1.1.1900
01.08.2002 18:18:15
Charlie
Hallo, Sigi!

Danke für Deine Info, das habe ich nicht gewußt.

Das Problem von Nele ist aber nicht darin begründet, sondern ergibt sich als Ergebnis einer einfachen Addition in VBA. Hier dürfte der Fehler durch die Umwandlung der Uhrzeiten mit CDate verursacht sein. Denn bei dieser Umwnandlungsfunktion taucht plötzlich das Datum auf, obwohl es sich - wie gesagt - bei den Angaben nur um Uhrzeiten handelt und das Ergebnis auch eine Uhrzeit sein soll(te).

"Normales" Addieren von Uhrzeiten (ohne Umwandlung) mit VBA führt ja auch zum richtigen Ergebnis.

Danke nochmals,
Charlie

Anzeige
Re: 1.1.1900
01.08.2002 18:58:20
Nele
Danke Danke Danke Charlie

Hattest Recht wegen der Umwandlung jetzt schreibt er es ordentlich hin.
Aber wegen irgendwas hat ich ja die Umwandlung gemacht, mal sehn wann er wieder meckert jetzt wo ich sie wieder weg genommen habe :o)

Aber das mit dem Datum is mir immernoch suspekt, ist mir vorher nie aufgefallen, dass das da immer steht

Gruß Nele

Re: 1.1.1900
01.08.2002 19:14:23
Charlie
Hallo, Nele!

Es freut mich, dass wir das Rätsel lüften konnten. Mal sehen, ob die Lösung dieses Problems ein anderes wegen der jetzt fehlenden Umwandlung heraufbeschwört. Aber selbst dann kann man ja wieder eine (andere) Lösungsmöglichkeit suchen.

Da man in erster Linie nur auf die Zellen schaut und nicht auf die Bearbeitungszeile, wurdert es mich nicht sonderlich, dass es Dir bisher nicht aufgefallen ist.

Gruß,
Charlie

Anzeige

15 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige