Validación de fechas en excel vba

Tengo dificultad con la siguiente macro, no valida la fecha correctamente, por ejemplo ingreso 05/01/2018 y muestra el mensaje la fecha debe ser a futuro

Private Sub CommandButton1_Click()
'
fecha1 = Format(TextBox1, "dd/mm/yyyy")
f_actual = Format(Date, "dd/mm/yyyy")
'
If fecha1 < f_actual Then
    MsgBox "La fecha debe ser a futuro"
    Exit Sub
Else
MsgBox "fecha correcta"
End If
End Sub

1 respuesta

Respuesta
1

Cuando realizas esto:

f_actual = Format(Date, "dd/mm/yyyy")

Estás poniendo en f_actual un texto, no estás poniendo una fecha.

Para comparar fechas, las 2 deben ser fechas y no textos, quedaría así:

Private Sub CommandButton1_Click()
'
    fecha1 = CDate(TextBox1)
    f_actual = Date
    '
    If fecha1 < f_actual Then
        MsgBox "La fecha debe ser a futuro"
        Exit Sub
    Else
        MsgBox "fecha correcta"
    End If
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas