Formato de hora en un textbox

Que tal buen dia espero me puedan ayudar en un formulario con un texbox voy a capturar la hora de un trabajador desconozco si se pudiera hacer es al momento que se capture la hora aparezcan los " : " por default y después que capture los minutos, esto pra que porque en ocasiones en lugar de capturar " : " capturan ". " y como se realizan operación con 2 horarios me marca error.

1 respuesta

Respuesta
3

Lo mejor es programar el evento exit de dicho textbox para vigilar que el usuario ha introducido la hora con el formato deseado. Por ejemplo con esta macro le obligamos a introducir la hora en el formato hh:mm:ss y si no lo hace no le deja continuar. Pruébalo.

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
ubica1 = Mid(TextBox1, 3, 1)
ubica2 = Mid(TextBox1, 6, 1)
If ubica1 <> ":" Or ubica2 <> ":" Then
MsgBox "debe introducir la hora en este formato: hh:mm:ss"
Cancel = True
End If
End Sub

no olvides finalizar la consulta

Ya lo probé y si funciono Gracias.

No habrá una forma de que al momento de teclear la hora automáticamente aparezca los "." sin la necesidad de teclearlos, si no esta muy bien también

Ok, te mando otra idea: En tu userform dibuja varios textbox y que uno de ellos se llame textbox1. Copia estas macros y prueba el formulario:

Al pasar por encima del textbox1 con el ratón te mandará un mensaje informativo y también prueba a introducir una hora en el textbox1 sin teclear los puntos...

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
largo = Len(TextBox1)
If largo <> 6 Then
MsgBox "Debe introducir la hora don dos dígitos en cada miembro y sin puntos hhmmss"
Cancel = True
Exit Sub
End If
TextBox1 = Format(TextBox1, "00\:00\:00")
End Sub
Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
MsgBox "Debe introducir la hora don dos dígitos en cada miembro y sin puntos hhmmss"
End Sub

recuerda finalizar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas