Limitar el rango de fecha de elección

Tengo el siguiente código y quiero agregar otra condición, la cual seria que si la fecha ingresada en el textbox es menor a 30 días después del día presente, no acepte la fecha. También tengo dudas como declarar la fecha si la tengo descrita en una celda.

Range("H12").Select
ActiveCell.Value = TextBox65.Value
If ActiveCell.Value = "" Or Not IsDate(TextBox65.Value) Then
MsgBox "blah blah blah"
TextBox65. SetFocus

2 Respuestas

Respuesta
1

El problema del código que te enviaron es que si el textbox está vacío fallará al evaluarlo con Cdate.

Y con respecto a tu código, primero evaluá si es una fecha correcta y luego recién envialo a la hoja.

Private Sub CommandButton1_Click()
'x Elsamatilde
'controlar contenido del textbox
If TextBox65 = "" Then
    MsgBox "El campo fecha no puede quedar vacío,"
    TextBox65.SetFocus
ElseIf Not IsDate(TextBox65) Or CDate(TextBox65) < Date + 30 Then
    MsgBox "Error en el ingreso de fechas."
    TextBox65 = "": TextBox65.SetFocus
Else
    'está todo bien y lo pasamos a la celda
    Range("H12") = CDate(TextBox65)
End If
End Sub

Estoy considerando que necesitas 30 días a partir de la fecha actual, por eso utilicé Date.

Sdos y no olvides valorar esta respuesta (opciones: excelente o buena)

¡Gracias! Elsa era justo lo que necesitaba.

Querida Experta Elsa Matilde como podría hacer si además quiero modificar un poco la condicion;

Específicamente quiero que se permita que el textbox65 sea " " pero si el textboxt64 no esta vacío entonces si condicionar a que se ingrese un dato en textbox65 y que además sea numérico.

Private Sub CommandButton1_Click()
'x Elsamatilde
'controlar contenido del textbox
If TextBox65 = "" Then
    MsgBox "El campo fecha no puede quedar vacío,"
    TextBox65.SetFocus
ElseIf Not IsDate(TextBox65) Or CDate(TextBox65) < Date + 30 Then
    MsgBox "Error en el ingreso de fechas."
    TextBox65 = "": TextBox65.SetFocus
Else
    'está todo bien y lo pasamos a la celda
    Range("H12") = CDate(TextBox65)
End If
End Sub

En la primer condición se agrega el criterio de que si textbox64 no está vacío tampoco puede estarlo el 65

'controlar contenido del textbox
If TextBox65 = "" And textbox64 <> "" Then

El resto se mantiene.... salvo que ahora en lugar de fecha solo debe evaluar que sea numérico.

Si es así, dejame una nueva consulta en el tablón (podés indicar que es 'Para Elsa' con título Controlar datos numéricos en textbox (para que luego el buscador del foro lo pueda encontrar)

Sdos!

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas