Desculpe colega, como estava ocupado com outras tarefas, acabei postando o código com erros, mas eis a correção, fiz alguns testes e funcionou, teste ai também.
Public Function TempoDecorrido(T1 As String, T2 As String) As String
Dim H As Integer, M As Integer, S As Integer, MS As Integer
Dim DH As Integer, DM As Integer, DS As Integer
Dim sDif As Long
Dim Hora1() As String
Dim Hora2() As String
Dim Tempo1 As Date
Dim Tempo2 As Date
Hora1() = Split(T1, ":")
Hora2() = Split(T2, ":")
Tempo1 = Hora1(0) & ":" & Hora1(1) & ":" & Hora1(2)
Tempo2 = Hora2(0) & ":" & Hora2(1) & ":" & Hora2(2)
sDif = DateDiff("s", Tempo1, Tempo2)
DH = sDif Mod 3600
H = (sDif - DH) / 3600
DM = DH Mod 60
M = (DH - DM) / 60
DS = DM Mod 60
S = DS
If Hora1(3) > Hora2(3) Then
MS = ((1000 - CInt(Hora1(3))) + CInt(Hora2(3)))
S = S - 1
Else
MS = (CInt(Hora2(3)) - CInt(Hora1(3)))
End If
TempoDecorrido = Format((H & ":" & M & ":" & S), "hh:nn:ss") & ":" & Format(MS, "000")
End Function
pronto