I'm glad you have a solution. Personally I would have written it so you just pass the value of Actual (or the sum of it), and let the function do the rest. I'm lazy, I don't want to have to remember all the stuff you have to do there to call the function. By the look of the result you want there, the ElapsedTime function in the link I gave you could easily have been adapted to return the result. That's why I posted it. I just tested and this appears to return the same result you're getting:
Code:
Function ElapsedTime(Interval) As String
Dim x
' x = Int(CSng(Interval * 24 * 3600)) & " Seconds"
' Debug.Print x
' x = Int(CSng(Interval * 24 * 60)) & ":" & Format(Interval, "ss") _
' & " Minutes:Seconds"
' Debug.Print x
' x = Int(CSng(Interval * 24)) & ":" & Format(Interval, "nn:ss") _
' & " Hours:Minutes:Seconds"
' Debug.Print x
' x = Int(CSng(Interval)) & " days " & Format(Interval, "hh") _
' & " Hours " & Format(Interval, "nn") & " Minutes " & _
' Format(Interval, "ss") & " Seconds"
' Debug.Print x
ElapsedTime = Int(CSng(Interval * 24)) & ":" & Format(Interval, "nn:ss")
End Function