Hallo smiley,
wenn man eine Uhrzeit eingibt in eine Zelle, die vorher als Uhrzeit formatiert worden ist, wird die Uhrzeit immer als Kombination mit einem Datum angezeigt. Wenn ich also eine 17 eingebe, übersetzt das Excel in „17.01.1900 00:00:00“. Eine Uhrzeit erkennt Excel nur, wenn ich den Doppelpunkt. benutze.
Wenn man es so haben will, wie Du es geschrieben hast, muss man mit einer Ereignisprozedur arbeiten, die im Modul der jeweiligen Tabelle stehen muss. Ich habe mal eine solche Prozedur geschrieben für den Fall, dass die Zeiten in der Spalte C stehen.
Private Sub Worksheet_Change(ByVal Target As Range)
'In Spalte C sollen alle eingegeben Zahlen in Uhrzeiten 00:00 umgewandelt werden
If Target.Column = 3 Then
L = Len(Target.Value)
Application.EnableEvents = False
Select Case L
Case 1
Target.Value = „00:0“ & Target.Value
Target.Value = CDate(Target.Value)
Application.EnableEvents = True
Exit Sub
Case 2
Target.Value = „00:“ & Target.Value
Target.Value = CDate(Target.Value)
Application.EnableEvents = True
Exit Sub
Case 3
Target.Value = „0“ & Left(Target.Value, 1) & „:“ & Right(Target.Value, 2)
Target.Value = CDate(Target.Value)
Application.EnableEvents = True
Exit Sub
Case 4
Target.Value = Left(Target.Value, 2) & „:“ & Right(Target.Value, 2)
Target.Value = CDate(Target.Value)
Application.EnableEvents = True
Exit Sub
End Select
End If
End Sub
Die Prozedur unterscheidet wie lang die eingegebene Zahl ist und wandelt sie in eine Uhrzeit um:
- 1 Stelle --> 00:0n
- 2 Stellen --> 00:nn
- 3 Stellen --> 0n:nn
- 4 Stellen --> nn:nn
Mit diesen umgewandelten Zeiten kann dann auch gerechnet werden.
Hoffe, dir geholfen zu haben.
Wenn du noch Fragen hast, melde Dich ruhig noch mal.
Jürgen