QUOTE (Duffanator @ Jun 4 2009, 01:08 PM)

Cool, thanks I appreciate it.
This macro appears to do the trick. For a starter point. It does not take into account if the date changes or "rolls" SO it will need debug and beef up. But not tonight by me.
Sheet1 is your original data.
Sheet2 is compressed data.
Sheet3 is calcualted up and down times.
Sub CalcTimes()
'Declare Variables
Dim SourceRow As Integer
Dim TargetRow As Integer
Dim SourceCol As Integer
Dim TargetCol As Integer
Dim ScratcH
'Initialize the Pointers
SourceRow = 1
TargetRow = 1
SourceCol = 1
TargetCol = 1
'Move the Header Row
Sheet3.Cells(TargetRow, TargetCol).Value = Sheet2.Cells(SourceRow, SourceCol).Value
Sheet3.Cells(TargetRow, TargetCol + 1).Value = Sheet2.Cells(SourceRow, SourceCol + 1).Value
Sheet3.Cells(TargetRow, TargetCol + 2).Value = Sheet2.Cells(SourceRow, SourceCol + 2).Value
Sheet3.Cells(TargetRow, TargetCol + 3).Value = Sheet2.Cells(SourceRow, SourceCol + 3).Value
'Increment the Row Pointers
SourceRow = SourceRow + 1
TargetRow = TargetRow + 2
'Loop Thru the Data
Do While Sheet2.Cells(TargetRow, SourceCol).Value <> ""
If Sheet2.Cells(SourceRow, SourceCol + 2).Value <> 0 Then
If Sheet2.Cells(SourceRow, SourceCol + 3).Value = 0 Then
Sheet3.Cells(SourceRow, SourceCol + 2).NumberFormat = "h:mm:ss"
Sheet3.Cells(SourceRow, SourceCol + 2).Value = Sheet2.Cells(TargetRow, TargetCol + 1).Value - Sheet2.Cells(SourceRow, SourceCol + 1).Value
Else
Sheet3.Cells(SourceRow, SourceCol + 2).Value = ""
End If
Else
Sheet3.Cells(SourceRow, SourceCol + 2).Value = ""
End If
If Sheet2.Cells(SourceRow, SourceCol + 3).Value <> 0 Then
If Sheet2.Cells(TargetRow, SourceCol + 2).Value <> 0 Or Sheet2.Cells(TargetRow, SourceCol + 3).Value <> 0 Then
Sheet3.Cells(SourceRow, SourceCol + 3).NumberFormat = "h:mm:ss"
Sheet3.Cells(SourceRow, SourceCol + 3).Value = Sheet2.Cells(TargetRow, TargetCol + 1).Value - Sheet2.Cells(SourceRow, SourceCol + 1).Value
Else
Sheet3.Cells(SourceRow, SourceCol + 3).Value = ""
End If
Else
Sheet3.Cells(SourceRow, SourceCol + 3).Value = ""
End If
SourceRow = SourceRow + 1
TargetRow = TargetRow + 1
DoEvents
Loop
End Sub