
Option Explicit
Sub abc()
Dim a, i, m
a = [a1].CurrentRegion.Offset(1).Resize(, 6).Value
ReDim b(1 To UBound(a), 1 To 3 + 31)
For i = 1 To UBound(a) - 1
b(m + 1, Day(a(i, 5)) + 3) = Format((a(i, 6)), "hh:mm:ss")
If a(i, 2) <> a(i + 1, 2) Then
m = m + 1
b(m, 1) = a(i, 1): b(m, 2) = a(i, 3): b(m, 3) = a(i, 2)
End If
Next
[j:j].NumberFormatLocal = "@"
[k2].Resize(m, 31).NumberFormatLocal = "hh:mm:ss"
[h2].Resize(m, UBound(b, 2)) = b
End Sub