Hallo,
für eine Arbeitszeiterfassung möchte ich die Uhrzeiten vierstellig eingeben. Davon soll eine anzugebende Pausenzeit (Dezimalzahl, z.B. 0,5) automatisch abgezogen werden.
Ich habe es mit folgendem Code versucht, dabei kollidieren jedoch Uhrzeit-System und Dezimalzahl der Pausenzeit bei der Eingabe:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Eingabebereich As String
Dim Eingabe, Zeitwert
On Error GoTo ChgEvent_Error
Eingabebereich = "D4:AL34"
If Not Application.Intersect _
(Target, ActiveSheet.Range(Eingabebereich)) _
Is Nothing _
And _
IsNumeric(Target.Value) _
And _
Target.Cells.Count = 1 Then
Application.EnableEvents = False
Eingabe = Format(Target.Value, "0000")
Zeitwert = _
Left(Format(Eingabe, "0000"), _
Len(Eingabe) - 2) & ":" & _
Right(Format(Eingabe, "0000"), 2)
Target.Value = Zeitwert
End If
ChgEvent_Error:
Application.EnableEvents = True
End Sub
Wie muss ich den Code verändern, um in Spalten A+B die Uhrzeiten vierstellig eingeben zu können, in Spalte C eine Pausenzeit im Dezimalformat und dass dann letztlich in Spalte D eine Arbeitszeit bestehend aus Anwesenheitszeit (Spalte B minus Spalte A) abzüglich Pausenzeit (Spalte C) errechnet wird?
Da in jedem Team vier MItarbeiter arbeiten, müsste der Code so programmiert werden, dass ich den gesamten zuvor beschriebenen Aufbau dann viermal hintereinander habe.
Kurzum: Wie muss der Code verändert werden, dass es für die vierstellige Zeiteingabe vier voneinander getrennte Eingabebereiche gibt - dazwischen wären dann die Spalten mit Pausenzeiten und Arbeitszeitberechnung im Dezimalformat???
Vielen Dank schon mal für euer Mitdenken!