Como puedo hacer para que un textbox tenga calendario

Tengo un textbox en un usefrom de excel donde ingreso la fecha de hoy pero al momento que doy guardar, me guarda pero me sale otro año dsitinto al que había puesto en el formulario que código puedo hacer para programar el textbox y para que aparezca un calendario.

Por favor si se puede pido su ayuda.

1 Respuesta

Respuesta
2

Prueba lo siguiente para pasar la fecha del textbox a una celda, por ejemplo:

range("D5").value = cdate(textbox1.value)

Revisa el resultado en la celda y me comentas.

Si no te funciona dime qué dato estás poniendo en el textbox y qué dato te pone en la celda.

Disculpe. Me sale error

¿Qué pusiste en tu código?

¿Qué dice el mensaje de error?

Lo puse de la siguiente forma.

Range("H9").Value = CDate(Txtfechasolicitud.Value)

¿Y qué dice el mensaje de error?

Y puedes poner un ejemplo de lo que estás poniendo en el textbox y qué te está poniendo en la hoja

Ese es el error

y el textbox pongo la fecha de hoy osea 16/10/2018

Primero, quita este evento:

Private Sub Txtfechasolicitud_Change()
    Range("H9").Value = CDate(Txtfechasolicitud.Value)
End Sub

Ese evento hace lo siguiente, por cada caracter que capturas en el textbox, trata de enviar el dato a la celda

1

16

16/

16/1

16/10

etc

Alguno de esos datos no es una fecha, por eso te envía el error.


Entonces quita ese evento, pon un botón, y pon el siguiente código dentro de ese botón:

Private Sub CommandButton1_Click()
    If Txtfechasolicitud.Value = "" Or Not IsDate(Txtfechasolicitud.Value) Then
        MsgBox "Captura una fecha válida"
        Exit Sub
    End If
    Range("H9").Value = CDate(Txtfechasolicitud.Value)
End Sub

[sal u dos

Buen día Dante,

Bueno ya ise lo que mandaste pero hay un problema en la celda donde puse la fecha desde el formulario osea en la H9, la fecha que puse es la siguiente 10/10/2018 pero en la celda me sale

1/10/1900  y no se por que.

¿Tienes algún formato en la celda?

si el de fecha(date)

Pon la celda H8 como texto y ejecuta lo siguiente

Private Sub CommandButton1_Click()
    If Txtfechasolicitud.Value = "" Or Not IsDate(Txtfechasolicitud.Value) Then
        MsgBox "Captura una fecha válida"
        Exit Sub
    End If
    Range("H8").Value = Txtfechasolicitud.Value
    Range("H9").Value = CDate(Format(Txtfechasolicitud.Value, "mm/dd/yyyy"))
End Sub

Envíame imágenes del resultado en las celdas.

También pon todo tu código del form para revisarlo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas