vor langer Zeit habe ich folgendes hier im Forum erhalten:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim RaBereich As Range, RaZelle As Range
Dim InS As Integer
Dim InM As Integer
Set RaBereich = Range("I7:R37, T7:V37")
ActiveSheet.Unprotect
Application.EnableEvents = False
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
With RaZelle
If .Value "" Then
If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
InStr(.Value, ",") = 0 Then
.NumberFormat = "[h]:mm"
If Len(Target.Value) > 2 Then
InS = Left(.Value, Len(.Value) - 2)
InM = Right(.Value, 2)
Else
InS = 0
InM = .Value
End If
.Value = InS & ":" & InM
End If
End If
End With
End If
Next RaZelle
ActiveSheet.Protect , DrawingObjects:=False, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Application.EnableEvents = True
End Sub
Es erlaubt mir Stunden und Minuten mit dem Ziffernblock am PC schnell einzugeben. Das Makro setzt automatisch das Trennzeichen ":" Die Zellen haben das Nummerformat [h]:mm.Jetzt haut das auf einem Mal nicht mehr hin. Wenn ich z.B. 900 eingebe, trägt Excel 21600:00 in die Zelle statt 9:00. In der Bearbeitungsleiste steht 19.06.1906 00:00:00.
Hat jemand eine Idee wie ich's wieder hinkriege?
Danke und Gruß
Martin