Zeiteingabe vereinfachen
21.01.2008 12:06:44
R.
ich habe eine Tabelle, in die ich Zeitwerte eingebe. Damit ich aber nicht immer z.B. 08:00 eingeben muss, habe ich den unten stehenden Code gefunden, der die Eingabe 8 in 08:00 umwandelt. Das klappt prima.
Wenn ich aber dass Tabellenblatt schütze, die entsprechenden Felder natürlich als nicht gesperrt markiere, dann funktioniert es nicht mehr, sondern bringt mein EXCEL so durcheinander, dass es nach dem ich den Schutz aufgehoben habe auch nicht mehr funktioniert. Ich muß sogar EXCEL schließen und neu starten, dass alles wieder geht.
Hat irgendwer einen Tipp, an was es liegen kann?
Danke
Rudi
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s%, m%
If Not Application.Intersect(Target, Range("c40:f66")) Is Nothing Then
With Cells(Target.Row, Target.Column)
If .Value = "" Then Exit Sub
Application.EnableEvents = False
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
Cells(Target.Row + 1, Target.Column).Select
End If
Application.EnableEvents = True
End Sub