Private
Sub
Worksheet_Change(
ByVal
Target
As
Range)
Dim
akttime
As
Date
akttime = Time
If
Target.Address <>
"$A$3"
Then
Exit
Sub
Dim
rfid
As
String
rfid = Target.Value
Dim
runnerRow
As
Range
Set
runnerRow =
Me
.Columns(
"C"
).Find(What:=rfid, LookIn:=xlValues, LookAt:=xlWhole)
If
runnerRow
Is
Nothing
Then
Exit
Sub
If
IsEmpty(runnerRow.Offset(0, 6).Value)
Then
Application.EnableEvents =
False
runnerRow.Offset(0, 6).Value = akttime
Application.EnableEvents =
True
Else
If
runnerRow.Offset(0, 4).Value < 21
Then
Dim
lasttime
As
Date
lasttime = WorksheetFunction.Max(runnerRow.Offset(0, 7).Resize(1, 21))
If
DifferenzMehrAls5(lasttime, akttime)
Then
Application.EnableEvents =
False
runnerRow.Offset(0, 4).Value = runnerRow.Offset(0, 4).Value + 1
runnerRow.Offset(0, 5).Value =
Me
.Range(
"G1"
) * runnerRow.Offset(0, 4)
runnerRow.Offset(0, 6 + runnerRow.Offset(0, 4)).Value = akttime
runnerRow.Offset(0, 28).Value = akttime
runnerRow.Offset(0, 29).Value = runnerRow.Offset(0, 28).Value - runnerRow.Offset(0, 6).Value
Application.EnableEvents =
True
Else
End
If
Else
End
If
End
If
End
Sub
Function
DifferenzMehrAls5(zeita, zeitb)
As
Boolean
Dim
zeit1
As
Date
Dim
zeit2
As
Date
Dim
differenz
As
Double
zeit1 =
CDate
(zeita)
zeit2 =
CDate
(zeitb)
differenz = Abs(zeit2 - zeit1) * 24 * 60
DifferenzMehrAls5 = differenz > 5
End
Function