Excel berücksichtigt die Trennzeicheneinstellung zum Lesen oder Schreiben von CSV-Dateien nicht

20

Beim Speichern / Öffnen von CSV-Dateien in Excel ist das Standardtrennzeichen ein Semikolon (;), da es ein Komma sein muss (,). Ich habe versucht, es zu ändern, indem ich die Sprach- und Ländereinstellungen nach mehreren anderen Beiträgen zu diesem Problem änderte ( zB Wie kann Excel dazu gebracht werden, das Komma als Standardtrennzeichen in CSV-Dateien zu interpretieren? ).

Nach dem Ändern des Listenteilers in diesen Einstellungen speichert Excel CSV-Dateien jedoch weiterhin mit einem Semikolon. Liegt es daran, dass Excel installiert wurde, während mein Listentrennzeichen als Semikolon festgelegt war? oder fehlt hier eine andere einstellung?

Danke im Voraus.

Sandra
quelle
Ist das Problem beim Lesen vorhandener CSV-Dateien oder beim Erstellen von CSV-Dateien mit Komma als Trennzeichen?
Fixer1234
Beides habe ich bereits gemacht, was @Raystafarian vor dem Speichern einer neuen Datei erwähnt hat. Meine regionale Einstellung ist korrekt. Dann öffne ich Excel und speichere es als CSV. Wenn ich die Datei im Editor öffne, sehe ich, dass ein Semikolon verwendet wird. Wenn ich in Excel öffne, wird es korrekt geladen, da Excel immer noch ein; zum Trennen der Säulen.
Sandra

Antworten:

35

Ich habe das Problem gefunden. Mein Dezimaltrennzeichen in den Ländereinstellungen war ebenfalls ein Komma (europäisch). Selbst wenn mein Listentrennzeichen ein Komma war, wurde die CSV mit Semikolons gespeichert. Jetzt habe ich mein Dezimalsymbol in einen Punkt geändert und jetzt wird die CSV-Datei korrekt mit Kommas als Trennzeichen erstellt. Ich habe dies zweimal getestet und weiß jetzt, dass es eine Ausnahme geben muss: Wenn das Dezimaltrennzeichen ein Komma ist, dann ist das Listentrennzeichen ein Semikolon, selbst wenn es anders eingestellt ist.

Sandra
quelle
12
Vielen Dank, dass Sie sich die Zeit genommen haben, den Beitrag mit einer Antwort zu aktualisieren.
Garys Schüler
5

Zum Sparen

Sie müssen das Listentrennzeichen in den Sprach- und Ländereinstellungen anpassen, bevor Sie die Datei speichern.

Bildbeschreibung hier eingeben


Zum öffnen

Gehen Sie zu Daten - Externe Daten abrufen - Aus Text

Bildbeschreibung hier eingeben

Wählen Sie die Datei aus

Wählen Sie Begrenzt und drücken Sie Weiter Bildbeschreibung hier eingeben

und wählen Sie das Trennzeichen Komma

Bildbeschreibung hier eingeben

Klicken Sie auf Fertig stellen

Bildbeschreibung hier eingeben


Oder ziehen Sie es hinein und verwenden Sie dann Text für die Spalten, die Sie hier sehen

Raystafarian
quelle
Wenn ich die Frage richtig gelesen habe, sieht es so aus, als ob das Problem das Erstellen (Speichern) einer durch Kommas getrennten Datei als Trennzeichen (2. Absatz) ist.
Fixer1234
@ fixer1234 ja so habe ich es zuerst gelesen. Aber dann dachte ich, der erste Absatz sei wichtig. Ich habe keine Ahnung, was richtig ist. In beiden Fällen habe ich keine andere Lösung für die Erstellung als die, die das OP bereits ausprobiert hat.
Raystafarian
Ja, ich habe die regionalen Einstellungen vor dem Speichern der Datei geändert. Es hat nicht geholfen. Wenn ich CSV-Dateien von anderen Personen erhalte, die durch ein Komma getrennt sind, verwende ich Ihre Methode zum korrekten Importieren der Daten, speichere sie und füge sie in ein Semikolon ein. Es ist ärgerlich, weil ich jedes Mal zum Notizblock gehen und alle Semikolons durch Kommas ersetzen muss, bevor ich meine CSV als Importdatei verwende.
Sandra
0

Hier ist ein sehr schönes Makro, das ganz gut funktioniert:

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

Dies ist ein bisschen alt, aber ich bin auf das gleiche Problem
gestoßen : Hatte eine CSV mit Semikolon ( ;) getrennt. Die Systemtrennzeichen-Einstellungen (Windows) sind ebenfalls auf Semikolon gesetzt.

  • Wenn ich die CSV manuell öffnete, wurde die Datei korrekt getrennt.
  • Wenn ich VBA es öffnen lasse, trennt es es falsch mit einem Komma.

Verwenden Delimiter:=";"funktioniert anscheinend nur mit .txt.

Die Verwendung Local :=Truelöste jedoch das Problem für mich:

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