Hola:
Aquí te dejo una función que probablemente pueda servir a tus propósitos:
Código vb:
Ver originalPrivate Function VeriTime(Hora As String) As String
On Error Resume Next
VeriTime = Format(CDate(Hora), "hh:mm:ss")
If VeriTime = "00:00:00" Then VeriTime = ""
End Function
Esta función recibe el valor que desees verificar y lo convierte al formato hh:mm:ss de este modo si el valor recibido no es un dato de hora o es una hora incorrecta, te devolverá VeriTime = "" con lo que ya sabes que si VeriTime es nulo significa que la hora es incorrecta.
Si VeriTime contiene datos, ya tienes el valor tal cual debería haberse tecleado, por ejemplo si le mandas el valor 1:2:3 te devolverá 01:02:03 y si mandas 7:25 te devolverá 07:25:00
No deja de ser una idea mejorable pero puede valer para ello.
Saludos