Cargar fechas en hojas excel con formato "dd/mm/yyyy" mediante un textbox

Tengo un detalle al cargar una fecha en la base de datos, cuando la escribo en el textbox con formato "dd/mm/yyy" a veces se guarda bien pero a veces se guarda con formato "mm/dd/yyyy entonces el usuario tiende a confundirse cuando realiza una consulta. A pesar de que realizo una validación como:

Sheets("hoja").cells(i, "A")= Cdate((FECHA). Value) y en la tabla de excel coloco los datos con formato de fecha corta sucede lo mismo arroja ese formato

1 Respuesta

Respuesta
1

¿Cómo se llama tu textbox?

¿Se llama FECHA?

La línea que pusiste tiene error de sintaxis, debería ser así:

 Sheets("hoja").Cells(i, "A") = CDate(FECHA. Value)

Puedes poner un ejemplo de lo que capturas en el textbox

sal u dos

¡Gracias! Voy a probar y te aviso cualquier duda

Sigo teniendo inconvenientes Dante, pues se guarda con un formato personalizado y no como realmente lo fijo en el texbox "FECHA"... Te muestro.

El código que utilizo es el siguiente:

¿Que puedo hacer? pues me afecta cuando realizo una consulta entre rangos de fecha en un listbox que tengo solo me muestra las fechas con formato 00/00/0000

No le pongas formato en el código, solamente ponlo así

    a.Cells(uf, "A") = CDate(FECHA.value)

El formato de fecha se lo pones en la columna de tu hoja.

Sal u dos

Entonces me sigue guardando la fecha como te mencione al principio de la pregunta Dante...

mm/dd/yyyy.... 

¿Es válido hacer esto? Así mantengo el mismo formato de tabla:

Range("A9:AE9").Copy
Range("A" & uf).PasteSpecial Paste:=xlPasteFormats

Si te funciona, todo es válido

Si pones esto:

    a.Cells(uf, "A") = format(CDate(FECHA.value), "dd/mm/yyyy")

Lo que estás poniendo en la celda es un texto

Entonces prueba con lo siguiente:

    Dim mifecha As Date
    mifecha = DateSerial(Year(CDate(FECHA)), Month(CDate(FECHA)), Day(CDate(FECHA)))
    a.Cells(uf, "A") = mifecha

También con esto:

    Dim mifecha As Date
    año = Val(Mid(FECHA, 7, 4))
    mes = Val(Mid(FECHA, 4, 2))
    dia = Val(Mid(FECHA, 1, 2))
    mifecha = DateSerial(año, mes, dia)
    a.Cells(uf, "A") = mifecha

También revisa en el panel de control de Windows, en la Configuración Regional y de idioma, en la pestaña de Formatos, en Fecha corta tengas dd/mm/aaaa


sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas