¿Como limito el dato que se introduce en un formulario de vba?

Estoy creando un formulario para registrar datos y necesito que en los TEXTBOX de fechas solo me permita introducir fechas validas en el formato "DD/MM/AA" ¿cómo lo hago?

Respuesta
1

Te sugiero este método que te permite ingresar fechas sin separadores... el usuario te lo agradecerá ;)

Permite dejar el campo vacío ... quizás el campo no sea obligatorio. Eso lo podés controlar en otra instancia, por ej antes de grabar o guardar.

Private Sub TextBox1_Change()    'FECHA formato ddmmaa
If TextBox1 = "" Then Exit Sub
Select Case Len(TextBox1)
    Case 2:
        If Right(TextBox1, 2) > 31 Then
            MsgBox "Debes ingresar nro de día entre el 01 al 31", , ""
            TextBox1 = Left(TextBox1, Len(TextBox1) - 2)
        Else
            TextBox1 = TextBox1 & "-"     'utilizar el separador deseado
        End If
    Case 5:
        If Right(TextBox1, 2) > 12 Then
            MsgBox "Debes ingresar nro de mes entre el 01 al 12", , ""
            TextBox1 = Left(TextBox1, Len(TextBox1) - 2)
        Else
            TextBox1 = TextBox1 & "-"
        End If
     Case 8:
        If Not IsNumeric(Right(TextBox1, 2)) Then
            MsgBox "Debes ingresar el año con 2 dígitos entre 00 y 99", , ""
            TextBox1 = Left(TextBox1, Len(TextBox1) - 2)
        End If
End Select
End Sub

Probalo y si resuelve tu consulta no olvides valorarla.

PD) Tema extraído de mi manual de Formularios.

Sdos.

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas