yyyy separador que puedo ingles formato fechas fecha evitar español cómo como cambie cambiar arreglar aaaa excel excel-vba csv

excel - separador - Formato de fecha CSV



formato fecha csv (4)

Tengo una aplicación VB que extrae datos y crea 3 archivos CSV (a.csv, b.csv, c.csv). Luego utilizo otra hoja de cálculo de Excel (import.xls) para importar todos los datos de los archivos CSV anteriores a esta hoja.

El archivo import.xls tiene una macro que abre los archivos CSV uno por uno y copia los datos. El problema que estoy enfrentando es que las fechas en los archivos CSV se almacenan como mm / dd / aaaa y esto se copia como está en la hoja de Excel. Pero quiero la fecha en formato dd / mm / aaa.

Cuando abro manualmente alguno de los archivos CSV, las fechas se muestran en el formato correcto (mm / dd / aaaa). ¿Alguna idea de cómo puedo resolver este problema?


Cuando me encuentro con este problema, normalmente escribo las fechas como aaaa-mm-dd, que Excel interpretará inequívocamente.


En primer lugar, las otras respuestas son buenas, pero hay algo más de información que puede ser útil.

Un archivo CSV solo contiene texto. Es decir, los datos no están en formato de fecha sino en formato de texto. Entonces, cuando abre un archivo CSV en Excel, Excel interpreta de manera predeterminada esa información por usted. No es necesario. Podría forzarlo a dejarlo como texto, o como menciona Mark, puede agregar código en su macro de importación que lo altera por usted. Si desea un proceso automatizado, esta es la mejor solución. Simplemente agregue el código en VBA a la macro que aplica el formato de fecha requerido a la columna con los datos de fecha. Alternativamente, puede hacerlo manualmente después de que el archivo esté abierto y los datos hayan sido pegados seleccionando la columna usted mismo y cambiando el formato. Puede personalizar los formatos de los números (elegir personalizados) y luego escribirlos usted mismo. Ej. Dd / mm / aaaa.


Puede usar la función Formatear VBA:

Format(DateText, "dd/mm/yyyy")

Eso lo formateará como quieras.

Para una solución más permanente, intente cambiar su configuración regional en Windows, Excel lo usa para el formato de fecha.

Inicio -> Configuración -> Panel de control -> Opciones regionales.

Asegúrese de que el idioma esté configurado para lo que sea apropiado y de que la configuración de fecha sea la que desee.


Tuve un problema similar y lo resolví así, esencialmente es la opción ''todo lo anterior''

  1. Con el format(date,''dd-mmm-yyyy'') convierta la fecha al formato 2-3-4 eg01-ago-2008, no hay forma de que una computadora confunda 01-aug para 08-ene :-)
  2. Como copiar esto en excel lo revierte automáticamente al formato de fecha / hora, convierte el resultado en una cadena usando cstr en la función en 1
  3. Formatee las celdas en las que se copia la fecha como texto (si no lo hace, con el guión grueso como Excel, lo volverá a convertir a fecha / hora)
  4. Guarde la hoja como un archivo csv y ábrala en el bloc de notas para confirmar que ha funcionado

Algunas personas pueden decir que es exagerado, pero mejor estar en el lado seguro, que tener un usuario me llame dentro de un año y decirme que está haciendo algo extraño con la fecha.