Validar fecha en textbox vbExcel

De TE nuevamente consultando algunos inconveninetes que tengo ahora,

Implemente varios textbox en una hoja de excel, tengo el siguiente código:

Private Sub txt_final_LostFocus()
Dim Condicion As String
If CDate(txt_final) < Now Then
Condicion = "condicion1 "
txt_estado.ForeColor = vbRed
ElseIf CDate(txt_final) >= Now Then
Condicion = "condicion2"
txt_estado.ForeColor = vbGreen
End If
txt_estado = Condicion
End Sub

COmo se aprecia, este código valida la fecha si es menor a HOY muestra condicion1 si es mayor o igual muestra condicion2, el detalle es que no encuentro el problema por el cual al ingresar una fecha igual a hoy la condición me sale como si fuera menor es decir la condición 1, espero se entienda mi explicación y espero toda ayuda que siempre es buena.

1 respuesta

Respuesta
1

Lo primero es que Now es fecha + hora (Now = 18/12/2016 12:22:09), deberías emplear Date (Date = 18/12/2016).

Lo segundo es que te sobra la segunda comparación, con la primera es suficiente (aprovechando el ELSE):

Private Sub txt_final_LostFocus()
Dim Condicion As String
If CDate(txt_final) < Date Then
    Condicion = "condicion1 "
    txt_estado.ForeColor = vbRed
  Else
    Condicion = "condicion2"
    txt_estado.ForeColor = vbGreen
End If
txt_estado = Condicion
End Sub

 Es cierto como no me pude dar cuenta...gracias por el aporte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas