Private Sub Worksheet_Change(ByVal Target As Range)
Dim Eingabe As Variant
On Error GoTo fehler1
With Target
If Not Intersect(Target, Range("C2,H2,F37,F43,C5:E35")) Is Nothing Then
Application.EnableEvents = False
If IsEmpty(Target) Then GoTo fehler1
If Not Intersect(Target, Range("C5:C35,F47")) Is Nothing Then
If Not IsNumeric(.Value) Then
.Value = WorksheetFunction.Proper(.Value)
Else
If Len(.Value) = 5 Then
.Value = Left(Format(Target, "00000"), 3) & ":" & Right(Target, 2)
.NumberFormat = "[hh]:mm"
End If
End If
GoTo fehler1
End If
If Not IsNumeric(.Value) Then GoTo fehler1
If Len(.Value) = 4 Then
.Value = Left(Format(Target, "0000"), 2) & ":" & Right(Target, 2)
.NumberFormat = "[hh]:mm"
End If
End If
End With
End If
fehler1:
Application.EnableEvents = True
End Sub
|