online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Marc_K. vom 18.03.2021, 16:31 Options

Uhrzeiten ohne Doppelpunkt

Hallo Leute,

ich habe ein Problem ich möchte in Excel die Uhrzeit ohne Doppelpunkt eingeben und damit auch weiter rechnen.
Dafür habe ich folgendes Makro gefunden:

Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With Worksheet
If Range(Target.Address).NumberFormat = "h:mm" Then
If Len(Target.Value) = 4 Then Target.Value = Mid$(Target.Value, 1, 2) & ":" & Mid$(Target.Value, 3, 2)
If Len(Target.Value) = 3 Then Target.Value = Mid$(Target.Value, 1, 1) & ":" & Mid$(Target.Value, 2, 2)
If Len(Target.Value) = 2 Then Target.Value = "00" & ":" & Mid$(Target.Value, 1, 2)
If Len(Target.Value) = 1 Then Target.Value = "00" & ":0" & Mid$(Target.Value, 1, 1)
End If
End With
Application.EnableEvents = True
End Sub


Das Funktioniert auch so weit, nur bei 1200 zeigt Excel nicht 12:00 an, sondern 0:,5.
Ich weiss wohl das Excel damit meint das 12:00 der halbe Tag ist.
Wie kann man das oben genannte Makro ab ändern damit auch bei 1200 12:00 angezeigt wird.
Habe mich schon dumm und dämlich gesucht und leider habe ich auch keine wirkliche Ahnung von VBA.

Ich danke schon mal. :-)


Antwort schreiben

Antwort 1 von Hajo_Zi vom 18.03.2021, 16:32 Options

Hallo Marc,

die für mich einfachste Art zur Zeiteingabe ist.
Stelle bei Autokorrektur ein Ersetzen ,, durch : dann kannst Du Zeiten recht schnell mit der Num-Lock-Tastatur eingeben.

Gruß Hajo

Antwort 2 von Marc_K. vom 19.03.2021, 09:26 Options

Hi Hajo,

diese Lösung habe ich schon ein paar mal gefunden, das Problem ist das ich das Programm, welches ich schreibe, weitergeben will an meine Arbeitskollegen. Leider wird die Autokorrektur nicht in der Datei hinterlegt und funktioniert nicht bei denn anderen. Und da einige Kollegen 50+ und noch weniger Ahnung haben als ich könnte das ein Problem werden. :-)
Gibt es keine Möglichkeit Excel zu sagen, das es 12:00 nicht als 0,5 sondern wirklich als Uhrzeit 12:00 darstellt?

Antwort 3 von Marc_K. vom 19.03.2021, 09:27 Options

Ach ja,

habe ich fast vergessen.

Besten Dank für die schnelle Antwort.

Antwort 4 von Hajo_Zi vom 19.03.2021, 09:40 Options

Hallo Marc,

Uhrzeiteingabe ohne : mit VBA

Gruß Hajo

Antwort 5 von Flupo vom 19.03.2021, 09:44 Options

Das Problem der Weitergabe lässt sich auch lösen, wenn du dein Makro um die Befehlszeile
Application.AutoCorrect.AddReplacement ",,", ":"

ergänzt.
Es ist auch nicht schlimm, wenn dieser Befehl jedes Mal ausgeführt wird, da bereits vorhandene Einträge in der Autokorrekturliste einfach überschrieben werden.

Gruß Flupo

Antwort 6 von nighty vom 19.03.2021, 12:27 Options

hi all ^^

wie gewuenscht

gruss nighty

Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 1 Then
Select Case Len(Target.Value)
Case 1
Target.Value = "00" & ":0" & Mid$(Target.Value, 1, 1)
Case 2
Target.Value = "00" & ":" & Mid$(Target.Value, 1, 2)
Case 3
Target.Value = Mid$(Target.Value, 1, 1) & ":" & Mid$(Target.Value, 2, 2)
Case 4
Target.Value = Mid$(Target.Value, 1, 2) & ":" & Mid$(Target.Value, 3, 2)
End Select
End If
Application.EnableEvents = True
End Sub

Antwort 7 von Marc_K. vom 19.03.2021, 15:42 Options

Ich danke euch allen für die Antworten.
Habe mich für die Lösung von Hajo entschieden.

(Uhrzeiteingabe ohne : mit VBA)

Klappt nach der Range-Anpassung besten.

Vielen Dank an alle und besonders Hajo, hast jemanden sehr glücklich gemacht. :-)

Ähnliche Themen

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026