Beim Speichern/Öffnen von CSV-Dateien in Excel ist das Standardtrennzeichen ein Semikolon. ;
Da ich ein Komma brauche, ,
habe ich versucht, dies zu ändern, indem ich die Sprach- und Regionaleinstellungen geändert habe, nachdem ich mehrere andere Beiträge zu diesem Problem gelesen hatte (z. B.Wie bringt man Excel dazu, das Komma als Standardtrennzeichen in CSV-Dateien zu interpretieren?).
Nachdem ich jedoch in diesen Einstellungen das Listentrennzeichen geändert habe, speichert mein Excel CSV-Dateien weiterhin mit einem Semikolon. Liegt das daran, dass Excel installiert wurde, während mein Listentrennzeichen auf ein Semikolon eingestellt war? Oder gibt es eine andere Einstellung, die ich hier übersehe?
Antwort1
Ich habe das Problem gefunden. Mein Dezimaltrennzeichen in den Regionaleinstellungen war ebenfalls ein Komma (europäisch), sodass die CSV-Datei mit Semikolon gespeichert wurde, selbst wenn mein Listentrennzeichen ein Komma war. Nun habe ich mein Dezimaltrennzeichen in einen Punkt geändert und jetzt wird die CSV-Datei korrekt mit Kommas als Trennzeichen erstellt. Ich habe das zweimal getestet und weiß jetzt, dass es eine Ausnahme geben muss: Wenn das Dezimaltrennzeichen ein Komma ist, dann ist das Listentrennzeichen ein Semikolon, auch wenn es anders eingestellt ist.
Antwort2
Zum Sparen
Sie müssen den Listentrenner in den Sprach- und Regionaleinstellungen anpassenvorzum Speichern der Datei -
Zum Öffnen
Gehe zuDaten - Externe Daten abrufen - Aus Text
Wählen Sie die Datei
Wählenabgegrenzt, drücken Sie Weiter
und wählen Sie dieTrennzeichen Komma
Klicken Sie auf „Fertig stellen“.
Oder ziehen Sie es hinein und verwenden Sie dann Text in Spaltensiehe hier
Antwort3
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
Antwort4
Das ist zwar schon etwas älter, aber ich bin auf dasselbe Problem gestoßen:
Hatte eine CSV-Datei, die durch ein Semikolon ( ;
) getrennt war. Die Systemtrennzeicheneinstellungen (Windows) waren ebenfalls auf ein Semikolon eingestellt.
- Wenn ich die CSV manuell geöffnet habe, wurde die Datei korrekt getrennt.
- Wenn ich es durch VBA öffnen ließ, wurde es fälschlicherweise durch ein Komma getrennt.
Die Verwendung Delimiter:=";"
funktioniert anscheinend nur mit .txt
.
JEDOCH hat die Verwendung Local :=True
das Problem für mich gelöst:
Workbooks.Open(Filename:=fullpath, Local:=True)