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.