 
  
  Muchas gracias pense que no lo iba a utilizar, pero llego el momento y me sirvio ene, muchas gracias al creador, para algunos decirles que las variables shora y sminutos tienen que ser string y el pos integer.
es un form
------------
Private Sub Cj_HoraInicio_Validate(Cancel As Boolean)
Cancel = True
    If EsHora(Cj_HoraInicio) = True Then
        'CODIGO CUANDO LA HORA ES CORRECTA
        Cancel = False
        Cj_HoraTermino.SetFocus
        Call MarcaTodo(Cj_HoraTermino)
        Exit Sub
    Else
        Call Mensajes(29)
        Call MarcaTodo(Cj_HoraInicio)
    End If
End Sub
en un modulo bas
---------------------
Public Function EsHora(ByVal LaHora As String) As Boolean
'Verifica que tenga el separador de hora y minutos
Dim Pos As Integer, SHora As String, SMinutos As String
EsHora = False
Pos = InStr(LaHora, ":")
    If Pos > 0 Then
        'Obtengo la Hora
        SHora = Mid(LaHora, 1, Pos - 1)
        'Obtengo los minutos
        SMinutos = Mid(LaHora, Pos + 1, Len(LaHora) - Pos + 1)
        'Verifico que sean numericos la Hora y Minutos
        If IsNumeric(SHora) And IsNumeric(SMinutos) Then
            'Valido el rango de las horas
            If CDbl(SHora) >= 0 And CDbl(SHora) <= 23 Then
            'Valido el rango de los minutos
                If CDbl(SMinutos) >= 0 And CDbl(SMinutos) <= 59 Then
                    EsHora = True
                End If
            End If
        End If
    End If
End Function
gracias te pasaste adjunte el codigo, x cualquier cosa.