Validar fecha en textbox de un USERFORM

Tengo un userform y en el hay un textbox de una fecha necesito que cambia de color si la fecha que coloco sobrepasa un año, es decir que si coloco 2 de julio de 2021 se ponga en rojo y si es coloco fecha 2 de enero de 2022 se ponga en verde.

1 Respuesta

Respuesta
1

Prueba lo siguiente:

Private Sub TextBox1_Change()
 With TextBox1
    .ForeColor = &H80000008     'negro
  End With
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  With TextBox1
    .ForeColor = &H80000008     'negro
    '
    If .Value = "" Then Exit Sub
    '
    If Not IsDate(.Value) Then
      MsgBox "No es una fecha"
      .ForeColor = &HFF&        'rojo
      Cancel = True
      Exit Sub
    End If
    '
    If CDate(.Value) < CDate("02/07/2021") Then
      MsgBox "Fecha fuera de rango"
      .ForeColor = &HFF&        'rojo
      Cancel = True
      Exit Sub
    End If
    '
    .ForeColor = &HC000&        'verde
  End With
End Sub

¡Gracias!

Una inquietud, si yo quiero validar todos los días esta fecha y que calcule un año atrás, ¿qué debería cambiar de la macro?

[No olvides la valoración.

Puedes explicar con ejemplos lo que necesitas.

¡Gracias! 

Este archivo es una base de datos que se alimenta todos los días, y por ello en la macro deberia ir la fecha actual porque no en todos los casos es 

("02/07/2021")

debe evaluar el año con base en la fecha actual, es decir si actualizado hoy debe devolverse un año, al igual que si lo hiciera mañana.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas