Dar formato de hora a un combobox, en horas y minutos

Como puedo hacer para dar formato un Combobox de hora y minuto y al capturarlo si no es el formato que me envíe un mensaje de error

Me compartieron esta macro pero al capturar 9999 me entrega un horario de 99:99. Ojala alguien me pueda ayudar

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

1 Respuesta

Respuesta
1

H o la : Prueba con el siguiente código. Solamente te permite números y 6 dígitos.

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Por.Dante Amor
    If TextBox1 = "" Then Exit Sub
    '
    If Mid(TextBox1, 1, 2) > 24 Then
        MsgBox "Debe introducir la hora de 00 a 23"
        Cancel = True
        Exit Sub
    End If
    If Mid(TextBox1, 3, 2) > 59 Then
        MsgBox "Debe introducir minutos de 00 a 59"
        Cancel = True
        Exit Sub
    End If
    If Mid(TextBox1, 5, 2) > 59 Then
        MsgBox "Debe introducir segundos de 00 a 59"
        Cancel = True
        Exit Sub
    End If
    '
    TextBox1 = Format(TextBox1, "00:00:00")
End Sub
'
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Por.Dante Amor
    If Not (KeyAscii >= 48 And KeyAscii <= 57) Then KeyAscii = 0
    If Len(TextBox1) = 6 Then KeyAscii = 0
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas