Sub Split_Time()
Dim i As Long, j As Long, k As Long, hrs As Double, med As Double
Dim a As Variant, b As Variant, lr As Long
lr = ActiveSheet.Range("P:P").Find("*", , xlValues, , xlByRows, xlPrevious).Row
a = Range("G2:Q" & lr).Value2
ReDim b(1 To UBound(a) * 24, 1 To 5)
For i = 1 To UBound(a)
If IsNumeric(a(i, 11)) And IsNumeric(a(i, 10)) Then
hrs = Round((a(i, 11) - a(i, 10)) * 48, 0)
med = 0
For j = 1 To hrs
k = k + 1
b(k, 1) = a(i, 1)
b(k, 2) = a(i, 10) + med
b(k, 3) = a(i, 2)
b(k, 4) = a(i, 3)
b(k, 5) = a(i, 4)
med = j / 48
Next
End If
Next
Range("S2").Resize(k, 5).Value = b
End Sub