
Option Explicit
Const HOUR As Single = 0.04166667
Sub abc()
Dim a, i, j, t
ReDim tm(23, 1)
tm(0, 0) = #12:00:00 AM#
tm(0, 1) = #12:59:59 AM#
For i = 1 To 23
tm(i, 0) = tm(i - 1, 0) + HOUR
tm(i, 1) = tm(i - 1, 1) + HOUR
Next
a = Range("b2:b" & [b2].End(xlDown).Row).Value
For i = 1 To UBound(a)
t = CDate(Format(a(i, 1), "hh:mm:ss"))
For j = 0 To UBound(tm)
If t <= tm(j, 1) Then
a(i, 1) = Format(tm(j, 0), "hh:mm") & "-" & Format(tm(j, 0) + HOUR, "hh:mm")
Exit For
End If
Next
Next
[c2].Resize(UBound(a)) = a
End Sub