Excel toma el formato de fecha incorrecto

Uso una aplicacion VBA para poder poner una fecha en una celda, el problema radica en que excel cambia mi fecha al formato (mm/dd/yyyy), use la funcion format en mi codigo vba format(txtfecha. Value,"dd:mm:yyyy") y excel pone la siguiente fecha en la celda 00/01/1990 y no la fecha que introduje. He revisado la configuracion regional de mi equipo y todo esta bien, he cambiado el formato de celda en excel y aun asi toma mal el formato, cualquier sugerencia es bienvenida.

2 Respuestas

Respuesta
1

Lo siguiente te servirá para fechas en el textBox con un formato dd/mm/yyyy o dd-mm-yyyy, o -inclusive- con dos dígitos para el año, o con 1 dígito para el día o el mes:

tmp = Split(Replace(txtFecha, "-", "/"), "/")
Range("A1") = DateSerial(tmp(2), tmp(1), tmp(0))

O sea: la variable auxiliar "tmp" se llena con un array cuya información es -finalmente- volcada a una celda de la hoja.

Hola puse tu código y me dice que se esperaba una matriz...

Aunque no lo hayas comentado, posiblemente ese error se te haya manifestado en la línea:

Range("A1") = DateSerial(tmp(2), tmp(1), tmp(0))

Si ello es así, simplemente pon al comienzo del código que estás evaluando lo siguiente:

Dim tmp

Aprovecho para comentarte que -si bien- lo sugerido te funcionará siempre en todos los casos (Excel español o inglés y Configuración Regional de tu PC bajo cualquier seteo), la sencilla variante publicada por Matilde podría funcionarte adecuadamente si tienes esas opciones configuradas "a tu favor": ¡Es cuestión que la pruebes!

Respuesta
2

Este es otro modo:

Range("A2") = CDate(txtFecha)

Además la celda debe tener el formato deseado.

Sdos.

Elsa

La pregunta no admite más respuestas

Más respuestas relacionadas