Cómo copiar en una celda el valor de una fecha como tipo fecha y no como texto.

Multiplicando por 1 consigo transformar un valor de texto de un UserForm expresado en números para copiarlo como tipo numérico en una celda, pero ¿cómo debo operar con los campos fecha?, en el Userform entran las fechas como texto -por más que su 'formato' sea el propio de una fecha- y posteriormente como texto se copian en la celda destino... ¿?

1 Respuesta

Respuesta
1

Aquí te muestro algunas opciones para que pruebes

Prueba de esta manera que es el formato original de vba (el inglés):

Range("B5") = format(textbox1, "mm/dd/yyyy")

O esta 

Range("B5") = format(textbox1, "dd/mm/yyyy")

Prueba y revisa que te ponga el dato como fecha

También puedes probar esto

Range("B5") = cdate(textbox1)

Range("B5") = cdate(format(textbox1," mm/dd/yyyy"))

O

Range("B5") = cdate(format(textbox1,"dd/mm/yyyy"))

Solucionado: Como cambiar el formato de una celda a Fecha

¡Gracias, Dante!   : - )

Finalmente, tras algún episodio de extrañeza -al que después me referiré por si alguien me pueda dar alguna luz :)  - creo que ha funcionado perfectamente el modo que me has apuntado del Range ("B5") = CDate(TextBox1)... y digo creo porque como resultado de su aplicación la fecha ha sido copiada y alineada en la celda a la derecha, lo que antes no sucedía, y ello es indicativo   suficientemente de que todo OK, no?
El 'episodio' al que me refería: en el 'registro ' -mejor sería hablar de 'línea' o 'fila'...- tengo dos celdas destinadas a recoger sendas fechas, y utilizando en el proceso de copiado, para las dos, la función Format, en una se me copiaba correctamente el dato fecha y en el otro no... no le encuentro explicación, salvo que al devenir de origen tales valores de un UserForm los campos desde los que son copiados tengan asignada alguna propiedad que produce tal anomalía, no sé...  ¿¿??

En cualquier caso tema solucionado... creo...   : - )

Me alegra saber que lo solucionaste.

Otra manera de verificar si realmente es una fecha y es correcta, pon en una celda la siguiente fórmula:

=MES("B5")

Te debe regresar el mes de la fecha.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas