Excel no respeta la configuración del delimitador para leer o escribir archivos CSV

Excel no respeta la configuración del delimitador para leer o escribir archivos CSV

Al guardar/abrir archivos CSV en Excel, el separador predeterminado es un punto y coma ;, como necesito que sea una coma, ,intenté cambiarlo cambiando la configuración de idioma y regional después de varias otras publicaciones sobre este problema (es decir,¿Cómo hacer que Excel interprete la coma como delimitador predeterminado en archivos CSV?).

Sin embargo, después de cambiar el separador de lista en esa configuración, mi Excel sigue guardando archivos CSV con punto y coma. ¿Es porque se instaló Excel mientras mi separador de lista estaba configurado como punto y coma? ¿O hay otra configuración que me falta aquí?

Respuesta1

Encontré el problema. Mi símbolo decimal en la configuración regional también era una coma (europeo), por lo que, incluso cuando mi separador de lista era una coma, el CSV se guardaba con punto y coma. Ahora cambié mi símbolo decimal a un punto y ahora el archivo CSV se crea correctamente con comas como separadores. Probé esto dos veces y ahora sé que debe haber una excepción: si el símbolo decimal es una coma, entonces el separador de lista será un punto y coma, incluso si se establece lo contrario.

Respuesta2

Para ahorrar

Debes ajustar el separador de listas en la configuración regional y de idioma.previopara guardar el archivo -

ingrese la descripción de la imagen aquí


Para abrir

Ir aDatos - Obtener datos externos - Desde texto

ingrese la descripción de la imagen aquí

seleccione el archivo

Seleccionardelimitado, presione siguiente ingrese la descripción de la imagen aquí

y seleccione eldelimitador coma

ingrese la descripción de la imagen aquí

Haga clic en finalizar

ingrese la descripción de la imagen aquí


O introdúzcalo y luego use texto en columnas.mira aquí

Respuesta3

Aquí hay una macro muy bonita que funciona bastante bien:

Sub saveCSV()
File = Application.GetSaveAsFilename(InitialFileName:="file.csv", FileFilter:="CSV (*.csv), *.csv")
ActiveWorkbook.SaveAs Filename:=File, FileFormat:=xlCSV, CreateBackup:=False, local:=False
End Sub

Respuesta4

Esto es un poco antiguo, pero me encontré con el mismo problema:
tenía un CSV delimitado con punto y coma ( ;). La configuración del separador del sistema (Windows) también está configurada en punto y coma.

  • Si abrí el CSV manualmente, el archivo se separó correctamente.
  • Si dejo que VBA lo abra, lo separa incorrectamente con una coma.

El uso Delimiter:=";"aparentemente solo funciona con .txt.

SIN EMBARGO, usar Local :=Trueresolvió el problema para mí:

Workbooks.Open(Filename:=fullpath, Local:=True)

información relacionada