Kommazahl in Uhrzeit formatieren
#1
Hallo Zusammen,

gibt es eine Möglichkeit eine Kommazahl direkt nach Eingabe in eine Uhrzeit zu formatieren?

z.b. 11,30 in 11:30 Uhr ?? 

schon mal danke im Voraus.

Grüße

MundM
Antworten Top
#2
Hola,
dass 11,30 nicht 11:30 sondern 11:18 sind ist dir bewusst?
Gruß,
steve1da
Antworten Top
#3
Hi,

ja, das ist mir bewusst.

Ich weiß dass ich 11,50 schreiben müsste für 11:30 Uhr.

Es geht nur darum, dass ich immer Listen mit Uhrzeiten bekommen in denen die Leute mir zb. 11,30 eingeben und ich es immer abändern muss um damit zu rechnen.

MundM
Antworten Top
#4
Dann schrenk diese Listen doch per Datenüberprüfung so ein, dass nur Uhrzeiten in bestimmte Felder/Spalten/Zeilen/Bereiche eingegeben werden können.
Antworten Top
#5
das werde ich dann wohl machen müssen wenn es keine andere Möglichkeit der Formatierung oder sonst gibt.

Danke
Antworten Top
#6
"Formatieren" bringt dir für die weitere Verarbeitung nichts; in einen Datumswert wandeln sollte dein Ziel sein:
Code:
=ZEITWERT(WECHSELN(TEXT(H17;"00,00");",";":"))
Die Formal kannst du aber nicht bedenkenlos runterkopieren! Du musst selbst prüfen, wie die "Zeit" vorliegt und darfst die Formel nur für die beschriebenen Fälle nutzen. Jedes Datum, jede Uhrzeit, jede Zahl ist eine Zahl! Steht also bereits eine ordentliche Uhrzeit in der Zelle, bringt die Formel ein anderes Ergebnis. Je nachdem, was sonst noch so an exquisiten Ideen für die "Verschandelung" von Uhrzeiten in der Liste zu finden sind, kann das ein lustiges Unterfangen werden. 

Willst du den Wert in der Eingabezelle selbst ändern, brauchst du VBA oder musst die Formelergebnisse als WERT einfügen. 

Das Netz ist übrigens überschwemmt mit Fragen exakt diesen Inhalts. Hast du schon einmal selbst gesucht?

Das "Format" einer Zelle ändert nur die Anzeige des Werts in der Zelle, nicht den Wert selbst. 11:30 entspricht dem Zahlenwert 0,479166666666667.
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • MundM
Antworten Top
#7
=NOTIERUNGDEZ(A1;60)/24 erlaubt die falsche Eingabe von 11,30 als gewollt 11:30.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#8
Hi LCohen,

Code:
=NOTIERUNGDEZ(A1;60)/24 erlaubt die falsche Eingabe von 11,30 als gewollt 11:30.

Sehr gut! Smile

Das Ganze dann nur noch in das Change-Ereignis packen:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
With Target
    .Value = WorksheetFunction.DollarDe(.Value, 60) / 24
    .NumberFormat = "hh:mm"
End With
Application.EnableEvents = True
End Sub
Antworten Top
#9
Das .NumberFormat sollte man besser für die Spalte vorbestimmen und im Code weglassen. Gute alte Gewohnheit bei alten Excel-Versionen. :)
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#10
Hi LCohen,

ging ja auch nur ums Prinzip. Sicherlich sollte man den Code hinsichtlich der Wirksamkeit im Blatt auch zu Beginn noch einschränken.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste