Maske und Uhrzeitproblem
27.01.2015 00:14:13
Vojnic
ich habe eine Tabelle mit den Spalten Schichtnummer, Beginn, Ende, Dauer usw. Mit einer Eingabemaske kann ich die Daten in die Datenbank auf einfache weise einfügen. Das klappt ziemlich gut. Einige Mitarbeiter wollen aber den Umständlichen Doppelpunkt sparen. Deswegen habe ich folgenden Code von hier verwendet:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s%, m%
If Intersect(Target, Range("B2:G150")) Is Nothing Then Exit Sub
With Cells(Target.Row, Target.Column)
If .Value = "" Then Exit Sub
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
InStr(.Value, ",") = 0 Then
.NumberFormat = "[hh]:mm"
If Len(.Value) > 2 Then
s = Left(.Value, Len(.Value) - 2)
m = Right(.Value, 2)
Else
s = .Value
m = 0
End If
.Value = s & ":" & m
End If
End With
End Sub
Wenn ich jetzt in die Zellen die Uhrzeit eingebe klappt es ganz gut, bis auf die Stunde zwischen 0 und 1 Uhr. 0005 werden nicht als 00:05 sondern als 05:00 umgewandelt.
Mein Hauptproblem liegt jetzt aber bei der Eingabemaske. Zeitangaben mit Doppelpunkt getrennt funktionieren einwandfrei. Wenn ich eine Uhrzeit eingebe, egal welche( 4 stellig ohne Doppelpunkt), wird folgendes Format an die Zelle übergeben:
02.08.1902 00:00:00
Die Zelle bleibt aber im Format [hh]:mm. Dadurch wird folgender Wert angezeigt:
32592:00
Erst mit Doppelklick auf die Zelle zum Bearbeiten und anschließend wieder wegklicken wandelt sich der Wert ins richtige Format um. Hat vielleicht jemand einen Vorschlag wie man diese kleinen Fehler beheben kann? Kann man die Eingabemaske zwingen die Deutsche 24Std. Formatierung anzuzeigen? Standardmäßig ist die Amerikanische drin.
Schon mal Danke für die Mühe.