..Bien no se si es lo que este buscando pero éste codigo lo emplee al controlar un reloj.
Private Hora As String
Private Minuto As String
Private Segundo As String
Private mvarTiempo As String
Public Event TiempoAgotado()
Public Property Let Tiempo(ByVal vData As String)
    mvarTiempo = vData
End Property
Public Property Get Tiempo() As String
    Tiempo = mvarTiempo
End Property
Public Sub DesglosaTiempo(Horex As String)
Hora = ""
Minuto = ""
Segundo = ""
For I = 1 To Len(Horex)
    If Mid$(Horex, I, 1) = ":" Then
        For j = I + 1 To Len(Horex)
            
             If Mid$(Horex, j, 1) = ":" Then
                    For h = j + 1 To Len(Horex)
                        Segundo = Segundo + Mid$(Horex, h, 1)
                        If h = Len(Horex) Then Exit Sub
                    Next
            
                Else
                Minuto = Minuto + Mid$(Horex, j, 1)
             End If
        Next
    Else
    Hora = Hora + Mid$(Horex, I, 1)
    End If
Next
'(Format(Me.DTPicker2, "hh:mm:ss AMPM"))
'Me.CommonDialog1.ShowColor
End Sub
Public Function StarTiempo(Aumento As Boolean) As String
Call DesglosaTiempo(Tiempo)
If Aumento = True Then ' es decir si va en aumento
ElseIf Aumento = False Then 'aca para empezar el reloj del cliente
If Val(Segundo) = 0 Then
Segundo = 59
    If Minuto = 0 Then
        Minuto = 59
            If Hora >= 0 Then
                Hora = Val(Hora) - 1
            End If
    Else
        Minuto = Val(Minuto) - 1
    End If
Else
Segundo = Val(Segundo) - 1
End If
    
    If Val(Hora) = 0 And Val(Minuto) = 0 And Val(Segundo) = 0 Then
        RaiseEvent TiempoAgotado
    End If
 If Len(Hora) = 1 Then Hora = "0" + Trim$(Hora)
 If Len(Minuto) = 1 Then Minuto = "0" + Trim$(Minuto)
 If Len(Segundo) = 1 Then Segundo = "0" + Trim$(Segundo)
        StarTiempo = Trim$(Hora) + ":" + Trim(Minuto) + ":" + Trim(Segundo)
End If
End Function
Public Function ObtieneFinTiempo(Inicio As String, t_Tiempo As String) As String
Dim HInicio As String, HTiempo As String, HFin As String, Minicio As String, Mtiempo As String, Mfin As String
Call Me.DesglosaTiempo(Inicio)
HInicio = Hora
Minicio = Minuto
Call Me.DesglosaTiempo(t_Tiempo)
HTiempo = Hora
Mtiempo = Minuto
HFin = Str(Val(HInicio) + Val(HTiempo))
Mfin = Str(Val(Minicio) + Val(Mtiempo))
While Val(Mfin) > 59
    If Val(Mfin) > 59 Then
        Mfin = Str(Val(Mfin) - 59)
        HFin = Str(Val(HFin) + 1)
    End If
Wend
ObtieneFinTiempo = Trim(HFin) + ":" + Trim(Mfin) + ":00"
End Function