Alerta con fecha de vencimiento excel

Tengo este código el cual quiero que me muestre un label invisible y llenar el textbox de rojo cuando la fecha de vencimento es mayor a la fecha actual pero este solo toma los primero numero de la fecha. Espero sus ayuda Gracias.

Private Sub TextBox11_Change()
If Me.Textbox11.Value > Me.DTPicker1.Value Then
TextBox11.BackColor = &HFF&
Label32.Visible = True
End If
End Sub

1 Respuesta

Respuesta
3

H o l a:

Quita el evento change y pon el siguiente evento:

Private Sub TextBox11_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Por.Dante Amor
    Dim fec As Date
    If IsDate(TextBox11) Then
        fec = TextBox11
        If fec > DTPicker1.Value Then
            TextBox11.BackColor = &HFF&
            Label32.Visible = True
        End If
    Else
        MsgBox "Escriba una fecha válida"
        TextBox11.SetFocus
    End If
End Sub

Estimado experto gracias por las prontas respuestas. Creo que no me explique muy bien pero tratare de hacerlo. Lo que tengo es: un form que al presionar un botón me buscar ciertos datos tales como fecha de vencimiento en el textbox11. Lo que necesito es que: si la fecha mostrada en el textbox11 ya venció según dtpicker1 entonces que el textbox11 se remarque de rojo y se haga visible el label32. Espero su comprensión.

Haber sí entendí.

Quieres presionar un botón. ¿Al presionar ese botón se llena el textbox11?

¿Y después de que ya se llenó el textbox11 quieres que se compare contra la fecha que tienes en el dtpicker1?

Si es correcto lo anterior, entonces quita estas macros de tu formulario:

Private Sub TextBox11_Change()

y

Private Sub TextBox11_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Y pon lo siguiente en tu commandbutton:

Private Sub CommandButton1_Click()
'Por.Dante Amor
    '
    'aquí va el código que ya tienes
    '
    'aquí empieza el código que tienes que agregar
    Dim fec As Date
    If IsDate(TextBox11) Then
        fec = TextBox11
        If fec > DTPicker1.Value Then
            TextBox11.BackColor = &HFF&
            Label32.Visible = True
        End If
    Else
        MsgBox "Escriba una fecha válida"
        TextBox11.SetFocus
    End If
    '
End Sub

Si no es lo que necesitas, entonces sigo sin entender, tendrás que enviarme tu archivo y me explicas paso a paso cuál es la secuencia de lo que quieres que ocurra en tu formulario, es decir, me explicas así:

1. Abres el formulario x

2. Capturas en el textbox1 el dato y

3. Capturas en le dtpicker la fecha z

4. Etc, etc,

Cambia la x, y, z por los datos reales y me dices qué debo hacer exactamente en el formulario y en qué momento quieres que se ponga rojo el textbox11.


Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “nery lopez” y el título de esta pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas