Problem mit NumberFormat
01.12.2003 19:09:38
Jens_Pu
für eine Arbeitszeiterfassung wollte ich die komfortable Eingabe von Zeitwerten.
In der Recherche habe ich was gefunden und an meine Bedürfnisse etwas angepasst.
Allerdings ist da irgendwie der Wurm drin. Bei der Zuweisung des Formats hört die Routine einfach auf. Keine Fehlermeldung, nix. Natürlich ist dann auch immer Application.EnableEvents auf False. Bin für jeden Hinweis dankbar.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row < 16 Then Exit Sub
If Not (Target.Column = 4 Or Target.Column = 5 Or Target.Column = 6 _
Or Target.Column = 7) Then Exit Sub
If Target.Value = "" Then Exit Sub
Application.EnableEvents = False
If Target.Column = 7 Then Target = UCase(Target)
With Target
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And InStr(.Value, ",") = 0 Then
.NumberFormat = "[hh]:mm" <-----Hier bricht Excel ab!!!
Select Case Len(.Value)
Case 1
.Value = "00:0" & .Value
Case 2
.Value = "00:" & .Value
Case 3
.Value = "0" & Left(.Value, 1) & ":" & Right(.Value, 2)
Case Else
.Value = Left(.Value, Len(.Value) - 2) & ":" & Right(.Value, 2)
End Select
End If
End With
Application.EnableEvents = True
End Sub
Gruss Jens