請測試看看,謝謝
Sub test()
Arr = [b1].CurrentRegion
For j = 2 To UBound(Arr)
If j = UBound(Arr) Then Arr(j, 10) = 0: Arr(j, 11) = 0: GoTo 99
If Arr(j, 9) = "入" And Arr(j + 1, 9) = "出" And Arr(j, 1) = Arr(j + 1, 1) Then
Arr(j, 10) = (Arr(j + 1, 6) + Arr(j + 1, 7) - (Arr(j, 6) + Arr(j, 7))) * 1440
Else
Arr(j, 10) = 0
End If
If Arr(j, 9) = "出" And Arr(j + 1, 9) = "入" And Arr(j, 1) = Arr(j + 1, 1) Then
Arr(j, 11) = (Arr(j + 1, 6) + Arr(j + 1, 7) - (Arr(j, 6) + Arr(j, 7))) * 1440
Else
Arr(j, 11) = 0
End If
99: Next j
[b1].Resize(UBound(Arr), UBound(Arr, 2)) = Arr
End Sub