Ejecutar modulo al presionar el decimo digito en textbox

Dante Amor

Hola Dan .. Hace unas horas me ayudo con un código el cual le agradezco.. Pero me gustaría agregar un código que tengo en un modulo al presionar el digito numero 10 que seria al terminar de escribir una fecha ejemplo de fecha 13/05/2018 ejecute el modulo .. Todo esto para ver si es valida la fecha o no .

Lo que he leído que al escribir una fecha no valida es como escribir un texto .

Por favor Dan

Saludos

Este es el modulo código

Sub validar()
Dim Valor As Variant
Valor = UserForm1.Txt_DTPicker1.Value
Select Case True
Case IsDate(Valor)
Case WorksheetFunction.IsText(Valor)
   MsgBox ("No es fecha valida.")
    UserForm1.Txt_DTPicker1.SetFocus
End Select
End Sub
Private Sub txt_DTPicker1_Change()
    lbltotal = ""
    ListBox1.Clear
    Dim fec As Date
   ' Dim Valor As Variant
    'Valor = UserForm1.Txt_DTPicker1.Value
    If Txt_DTPicker1 = "" Or Not IsDate(Txt_DTPicker1) Or _
       Len(Txt_DTPicker1) < 10 Or Len(Txt_DTPicker1) > 10 Then
       Exit Sub
 End If
    ListBox1.ColumnCount = 8
    ListBox1.ColumnWidths = "60;200;60;90;90;120;90;90"
    For i = 2 To Hoja4.Range("A" & Rows.Count).End(xlUp).Row
        fec = Format(Hoja4.Cells(i, "D"), "dd/mm/yyyy")
        If fec = Txt_DTPicker1.Value Then
            existe = False
            If Hoja4.Cells(i, "G") > 0.0001 Then
                For j = 0 To ListBox1.ListCount - 1
                    If IsNumeric(ListBox1.List(j)) Then vmate = CDbl(ListBox1.List(j)) Else vmate = ListBox1.List(j)
                    If IsNumeric(ListBox1.List(j, 3)) Then vlote = CDbl(ListBox1.List(j, 3)) Else vlote = ListBox1.List(j, 3)
                    '
                    If vmate = Hoja4.Cells(i, "A") And vlote = Hoja4.Cells(i, "B") Then
                        ListBox1.List(j, 6) = Format(CDbl(ListBox1.List(j, 6)) + Hoja4.Cells(i, "G"), "#,##0.000")
                        existe = True
                        Exit For
                    End If
                Next
                If existe = False Then agregar i, Hoja4
            End If
        End If
    Next
    If ListBox1.ListCount = 0 Then
        MsgBox "No hay registros que cumplan la condición"
    End If
End Sub

1 Respuesta

Respuesta
1

Después de esto

    If Txt_DTPicker1 = "" Or Not IsDate(Txt_DTPicker1) Or _
       Len(Txt_DTPicker1) < 10 Or Len(Txt_DTPicker1) > 10 Then
       Exit Sub
 End If

Pon las líneas:

If len(Txt_DTPicker.value) = 10 then
   Call validar
end if

[sal u dos

.

¡Gracias! Dante Amor 

Me sirvió mucho la respuesta!!

saludos gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas