suponiendo que horas, ni minutos, ni segundos, ni milesimas de segundo pueden alcanzar su valor maximo osea 60,60,60,1000 ya que si minutos valiera 60 ya no fueran 60 minutos si no 1 hora y minutos valdria 0, hay te hize un ejemplo a ver si te sirve:
valores maximos: 99:59;59;999
Option Explicit
Private Sub Form_Load()
MsgBox SumarTiempo("00:02;20.254", "00:02;59.800")
End Sub
Private Function SumarTiempo(Tiempo1 As String, Tiempo2 As String) As String
Dim H As Integer, H2 As Integer
Dim M As Integer, M2 As Integer
Dim S As Integer, S2 As Integer
Dim Ml As Integer, Ml2 As Integer
Dim Horas As Integer, Minutos As Integer, Segundos As Integer, Milesimas As Integer
H = Mid(Tiempo1, 1, 2)
M = Mid(Tiempo1, 4, 2)
S = Mid(Tiempo1, 7, 2)
Ml = Mid(Tiempo1, 10, 3)
H2 = Mid(Tiempo2, 1, 2)
M2 = Mid(Tiempo2, 4, 2)
S2 = Mid(Tiempo2, 7, 2)
Ml2 = Mid(Tiempo2, 10, 3)
Horas = H + H2
Minutos = M + M2
Segundos = S + S2
Milesimas = Ml + Ml2
If Milesimas >= 1000 Then
Segundos = Segundos + 1
Milesimas = Milesimas - 1000
End If
If Segundos >= 60 Then
Minutos = Minutos + 1
Segundos = Segundos - 60
End If
If Minutos >= 60 Then
Horas = Horas + 1
Minutos = Minutos - 60
End If
SumarTiempo = Format(Horas, "00") & ":" & Format(Minutos, "00") & ";" & Format(Segundos, "00") & "." & Format(Milesimas, "000")
End Function
espero que te sirva de algo. Saludos xD