Public Function differenceInHHMM(ByVal dihStart As Variant, ByVal dihEnd As Variant)
Dim varTemp As Variant, lngHours As Long, lngMinutes As Long
varTemp = ""
' If either of the parameters is empty / missing jump to the end
If Len(dihStart & vbNullString) = 0 Then GoTo differenceInHHMM_End
If Len(dihEnd & vbNullString) = 0 Then GoTo differenceInHHMM_End
' Find difference between Start and End date/times in minutes.
varTemp = DateDiff("n", dihStart, dihEnd)
' lngHours is the integer of the difference in varTemp divided by 60.
lngHours = Int(varTemp / 60)
' lngMinutes is the remainder of the difference in varTemp - 60 * lngHours.
lngMinutes = varTemp - (lngHours * 60)
' Form the output as required
varTemp = lngHours & ":" & Format(lngMinutes, "00")
' varTemp = lngHours & "hrs " & Format(lngMinutes, "00") & " mins"
' varTemp = lngHours & ":" & Format(lngMinutes, "00")
differenceInHHMM_End:
differenceInHHMM = varTemp
End Function