Formato dd/mm/yyyy en un textbox

Hola, tengo una ultima duda (lo prometo) je je no se si me podrías colaborar con la programación. Dentro un textbox quisiera que se almacene fechas en formato dd/mm/yyyy, y
Que si no lo ingresa de esa manera o introduce cualquier fecha que no es correcta aparezca error. Te lo agradecería mucho.

1 respuesta

1
Respuesta de
Hola,
Si tengo ese código ya hecho te lo envío para que lo pruebes, debes acomodarlo colocando el nombre del textbox utilizado.
Private Sub Text18_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0
SendKeys "{tab}"
ElseIf KeyAscii <> 8 Then
If Not IsNumeric("0" & Chr(KeyAscii)) Then
Beep
KeyAscii = 0
End If
End If
End Sub
Private Sub Text18_Change()
Select Case Len(Text18.Text)
Case 1
If Me.Text18.Text > 3 Then
Me.Text18.Text = "0" & Me.Text18.Text & "/"
SendKeys "{End}"
End If
Case 2
If Right(Me.Text18.Text, 1) <> "/" Then
Me.Text18.Text = Me.Text18.Text & "/"
Else
Me.Text18.Text = "0" & Me.Text18.Text
End If
SendKeys "{End}"
Case 3
If Right(Me.Text18.Text, 1) > 1 And Right(Me.Text18.Text, 1) <> "/" Then
Me.Text18.Text = Format(Me.Text18.Text & "/" & Year(Date), "DD/MM/YYYY")
SendKeys "{End}"
If IsDate(Me.Text18.Text) = False Then
MsgBox "La Fecha Introducida es Inválida, por favor intente de Nuevo", vbExclamation, "Fecha Inválida"
Text18.SetFocus
SendKeys "{home}+{end}"
End If
End If
Case 4
If Right(Me.Text18.Text, 1) = "/" Then
Me.Text18.Text = Format(Me.Text18.Text & Year(Date), "DD/MM/YYYY")
SendKeys "{End}"
If IsDate(Me.Text18.Text) = False Then
MsgBox "La Fecha Introducida es Inválida, por favor intente de Nuevo", vbExclamation, "Fecha Inválida"
Text18.SetFocus
SendKeys "{home}+{end}"
End If
ElseIf Right(Me.Text18.Text, 1) > 1 And Right(Me.Text18.Text, 1) <> "/" Then
Me.Text18.Text = Format(Me.Text18.Text & "/" & Year(Date), "DD/MM/YYYY")
SendKeys "{End}"
If IsDate(Me.Text18.Text) = False Then
MsgBox "La Fecha Introducida es Inválida, por favor intente de Nuevo", vbExclamation, "Fecha Inválida"
Text18.SetFocus
SendKeys "{home}+{end}"
End If
End If
Case 5
If Right(Me.Text18.Text, 1) <> "/" Then
Me.Text18.Text = Format(Me.Text18.Text & "/" & Year(Date), "DD/MM/YYYY")
Else
Me.Text18.Text = Format(Me.Text18.Text & Year(Date), "DD/MM/YYYY")
End If
SendKeys "{End}"
If IsDate(Me.Text18.Text) = False Then
MsgBox "La Fecha Introducida es Inválida, por favor intente de Nuevo", vbExclamation, "Fecha Inválida"
Text18.SetFocus
SendKeys "{home}+{end}"
End If
End Select
End Sub
Saludos Leone.
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Visual Basic o hacer tu propia pregunta: