Clever-Excel-Forum

Normale Version: Excel Zellenformatierungsproblem Zeit
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Ihr Lieben,
 
und zwar habe ich folgendes Problem. Ich möchte eine Zahlenfolge eingeben, die dann in ein Uhrzeitformat umgewandelt wird. Sprich ich gebe 849368 ein und Excel macht draus 8:49.368 dabei ist wichtig, dass er die Eingabe als Uhrzeit erkennt, da ich die Zeiten später addieren möchte und daher die 60 Grenze bei Minuten, Sekunden und Stunden beachtet werden muss.
Wenn ich derzeit mit der benutzerdefinierten Zellenformatierung arbeite, füllt er derzeit immer noch ein Datum aus, dass ich aber nicht in der Formatierung hinterlegt habe
 
sprich da steht dann: 08.01.1994 (sowas ähnliches) und dann 00:00.000
 
Über eure Hilfe wäre ich sehr dankbar !
Moin!
Dazu dürftest Du etliches im Netz finden.
Sowas geht nur mittels VBA, wobei der Sinn imo zweifelhaft ist.

Ich regele (nach Zuweisung des Zahlenformats [h]:mm:ss,000 [deutsche Trennzeichen]) dies so:
Als Autokorrektur ersetze ich ,, durch :
Dann wird 8,,49,368
zu 8:49,368
und die 24-Std-Grenze ist aufgehoben.

Gruß Ralf
(17.04.2017, 10:19)excel_clue schrieb: [ -> ]dabei ist wichtig, dass er die Eingabe als Uhrzeit erkennt
Excel erkennt Zeiten wenn sie in der Form 8:49,368 (8 Minuten 49,368 Sekunden) eingegeben werden. Alles andere erfordert eine Programmierung.
Hallo ihr Beiden,

ich programmiere nur mit VBA und hatte der Zelle über die Formatfunktion die richtige Formatierung in Form von [hh]:ss.mm, 00 zugewiesen,
dennoch wurde gleich wie bei der manuellen Formatierung ein Datum hinzugefügt.
Hier der genaue code den ich verwendet habe

Range(Cells(65000, 2), Cells(11, 2)).NumberFormat = "[h]: mm: ss, 000"
1. keine Blanks im Format-String
2. VBA speaks english!
Deshalb ist der Dezimaltrenner ZWINGEND ein Punkt:
Code:
Range(Cells(65000, 2), Cells(11, 2)).NumberFormat = "[h]:mm:ss.000"

Gruß Ralf
Danke, das war schonmal hilfreich :)

Aber jetzt packt er meine Zahlenfolge einfach vor die 00:00,000.
Das beduetet, da steht jetzt bei eingabe von 64855 = 6485500:00,000

Oh man.. ich will doch nur Rundenzeite sinnvoll addieren..:(
Hallo
Excel definiert eine ganze Zahl als Tage nicht als Stunden, daher kann ein benutzerdefiniertes Zellenformat nicht funktionieren.
Aus dem Grund wird auch ein Datum aus der Eingabe
Industriezeit ( Dezimalwert, zB. 12,5 ) liegt um den Faktor 24 über der Uhrzeit. ( 12,5/24 = 12:30 )
Zitat:Sprich ich gebe 849368 ein
Willst du Dezimalwerte zur Eingabe verwenden, müsstest in dem Fall den Wert auch in Stunden / Minuten / Sekunden Zehntel zerlegen und dann umrechnen.

Gruß Holger
Und hiermit schließt sich der Kreis!
In #2 habe ich Dir einen Workaround genannt.
Deine Variante klappt nur mit extremen Klimmzügen über VBA.
Deine eine Zeile Code reicht da bei weitem nicht.
Du schreibst:
Zitat:ich programmiere nur mit VBA
kennst Dich aber nicht mit den Grundlagen der Datum/Zeit-Darstellung und den zugrunde liegenden Zahlen in Excel aus.
Lesefutter:
http://www.online-excel.de/excel/singsel.php?f=128
und
http://www.online-excel.de/excel/singsel.php?f=129

Wenn Du dies aufmerksam liest, verstehst Du, warum Du Dein Ergebnis erhältst.

Gruß Ralf
(17.04.2017, 10:54)excel_clue schrieb: [ -> ]Aber jetzt packt er meine Zahlenfolge einfach vor die 00:00,000.
Das beduetet, da steht jetzt bei eingabe von 64855 = 6485500:00,000
Wenn ich das mit meinem Excel mache dann steht in der Zelle:
1556520:00:00,00
Und in der Bearbeitungszeile steht:
24.07.2077 00:00:00
1556520 entspricht übrigens 64855 x 24.
Der 24.07.2077 ist übrigens der 64855. Tag im Excel-Kalendersystem.
Seiten: 1 2