Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

FileFormat xlCSV - Trennzeichen Komma?

Forumthread: FileFormat xlCSV - Trennzeichen Komma?

FileFormat xlCSV - Trennzeichen Komma?
14.03.2004 19:06:05
Martin M.
Hallo
Ich habe ein Makro, in dem ich mit
wb.SaveAs Filename:= "c:\test.csv", FileFormat:= xlCSV
eine Datei speichere. Wenn ich das Makro über eine Schaltfläche aufrufe wird die Datei korrekt mit Semilokon (;) als Trennzeichen gespeichert. Nun kommt der Clou: Wenn ich das Makro über ein Menü aufrufe enthält die Datei Kommas (,) als Feldtrennzeichen.
Ist das ein Excelfehler oder gibt es da irgendwo eine Einstellung?
Danke für die Hilfe
Martin
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: FileFormat xlCSV - Trennzeichen Komma?
14.03.2004 21:30:03
Ramses
Hallo
ActiveWorkbook.SaveAs Filename:="C:\Mappe5.csv", FileFormat:=xlCSV, _
CreateBackup:=False, local:=True
Mit "Local:=True" übernimmt EXCEL die lokalen Einstellungen.
CSV bedeutet "Comma Separated Value" und das Trennzeichen ist, wie der Name schon sagt, das Komma :-)
Schau mal unter
Start - Einstellungen - Systemsteuerung - Ländereinstellungen
was dort unter dem Register "Zahlen" als Listentrennzeichen eingetragen ist.
Hier muss ein Semikolon eingetragen sein, dass es mit "Local:=True" auch funktioniert :-)
Gruss Rainer
Anzeige
Parameter "Lokal" nicht vorhanden....
15.03.2004 12:22:24
Martin M.
Hallo Rainer
Danke für die Antwort.
Die Ansatz ist gut, aber leider gibt es den Parameter "Local" nicht.
Bei den Ländereinstellungen ist das Semilokon als Listentrennzeichen eingetragen, VBA sieht es aber nicht, wenn das Makro über ein Menü aufgerufen wird.
Wenn das Makro hingegen über eine Schaltfläche aufgerufen wird, sieht VBA das Semilokon als Listentrennzeichen.
Falls dir noch was anderes einfällt wäre ich sehr dankbar.
Grüße
Martin
Anzeige
AW: Parameter "Lokal" nicht vorhanden....
15.03.2004 13:04:22
Ramses
Hallo
"..Wenn das Makro hingegen über eine Schaltfläche aufgerufen wird, sieht VBA das Semilokon als Listentrennzeichen..."
Das kapiere ich nun nicht.
Schau mal in der Online Hilfe unter "SaveAs" und der Anwendung auf das Workbook-Object, ob es den Parameter unter E2000 wirklich nicht gibt.
Kann ich mir eigentlich nicht vorstellen.
Das ist ein Auszug aus meiner EXCEL Hilfe
"...Local Optionaler Variant-Wert. True speichert Dateien in der Sprache von Microsoft Excel (einschließlich der Einstellungen der Systemsteuerung). False (Standard) speichert Dateien in der Sprache von Visual Basic für Applikationen (VBA) (normalerweise US-Englisch, außer bei dem VBA-Projekt, über das Workbooks.Open ausgeführt wird, handelt es sich um ein altes internationalisiertes XL5/95 VBA-Projekt)...."
Drum denke ich eher, dass es falsch geschrieben ist.
Ansonsten habe ich nur noch die Idee, dass man das CSV File anschliessend in ein Array öffnet und die Kommas gegen Semikolons austauscht.

Gruss Rainer
Anzeige
Leider Fehlanzeige
17.03.2004 16:07:22
Martin M.
Hallo Rainer
In E2000 ist der Parameter leider nicht vorhanden. Das ist mein Auszug aus der Hilfe:
Ausdruck.SaveAs(Filename, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodePage, TextVisualLayout)
Ich habe mir nun selber eine Funktion geschrieben, die die Daten im richtigen Format speichert.
Vielen Dank für deine Hilfsbereitschaft
Grüße
Martin
Anzeige
;
Anzeige

Infobox / Tutorial

FileFormat xlCSV: Trennzeichen richtig einstellen


Schritt-für-Schritt-Anleitung

Um eine Datei im CSV-Format mit dem richtigen Trennzeichen zu speichern, kannst Du das folgende VBA-Skript verwenden. Achte darauf, dass Du das Local-Argument korrekt einsetzt, um die lokalen Einstellungen zu berücksichtigen.

Sub SaveAsCSV()
    Dim wb As Workbook
    Set wb = ActiveWorkbook
    wb.SaveAs Filename:="C:\DeinPfad\deineDatei.csv", FileFormat:=xlCSV, local:=True
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Füge ein neues Modul ein (Einfügen > Modul).
  3. Kopiere den obigen Code in das Modul.
  4. Passe den Dateipfad und den Dateinamen an.
  5. Führe das Makro aus.

Häufige Fehler und Lösungen

  • Fehler: Das CSV-Trennzeichen bleibt ein Komma, obwohl das lokale Listentrennzeichen Semikolon ist.

    • Lösung: Überprüfe die Ländereinstellungen in der Systemsteuerung unter "Zahlen" und stelle sicher, dass das Semikolon als Listentrennzeichen eingetragen ist. Verwende local:=True in Deinem SaveAs Befehl.
  • Fehler: Parameter Local nicht verfügbar.

    • Lösung: In älteren Excel-Versionen (z.B. Excel 2000) kann der Parameter Local nicht unterstützt werden. In diesem Fall musst Du möglicherweise eine alternative Methode verwenden.

Alternative Methoden

Wenn der Local-Parameter nicht funktioniert, kannst Du die CSV-Datei auch manuell nach dem Speichern bearbeiten:

  1. Speichere die Datei wie gewohnt:
    ActiveWorkbook.SaveAs Filename:="C:\DeinPfad\deineDatei.csv", FileFormat:=xlCSV
  2. Öffne die Datei in einem Texteditor (z.B. Notepad).
  3. Ersetze alle Kommas durch Semikolons mit der Funktion "Suchen und Ersetzen".

Diese Methode stellt sicher, dass Deine Daten das richtige Trennzeichen haben, auch wenn Excel das nicht automatisch erkennt.


Praktische Beispiele

Angenommen, Du möchtest eine Excel-Tabelle mit Daten im CSV-Format speichern. Hier ein einfaches Beispiel:

Sub BeispielSpeichern()
    Dim wb As Workbook
    Set wb = ActiveWorkbook

    ' Speichern mit Semikolon als Trennzeichen
    wb.SaveAs Filename:="C:\Daten\Beispiel.csv", FileFormat:=xlCSV, local:=True
End Sub

In diesem Beispiel wird die Arbeitsmappe als "Beispiel.csv" im angegebenen Pfad gespeichert und nutzt das lokale Trennzeichen.


Tipps für Profis

  • Achte darauf, die korrekte Excel-Version zu verwenden, da einige Parameter von Version zu Version unterschiedlich sind.
  • Nutze die Funktion Application.International(xlListSeparator), um das aktuelle Listentrennzeichen abzufragen, bevor Du Deine CSV-Datei speicherst.
  • Um die CSV-Datei automatisch nach dem Speichern zu öffnen, füge am Ende des Makros folgenden Code hinzu:
    Shell "notepad.exe C:\DeinPfad\deineDatei.csv", vbNormalFocus

FAQ: Häufige Fragen

1. Frage
Wie kann ich sicherstellen, dass das richtige Trennzeichen beim Speichern verwendet wird?
Antwort: Stelle sicher, dass Du den Parameter local:=True in Deinem SaveAs-Befehl verwendest und überprüfe die Ländereinstellungen in der Systemsteuerung.

2. Frage
Gibt es eine Möglichkeit, das Trennzeichen nach dem Speichern zu ändern?
Antwort: Ja, Du kannst die CSV-Datei in einem Texteditor öffnen und dort die Kommas gegen Semikolons ersetzen. Alternativ kannst Du ein Makro schreiben, das diese Ersetzung automatisch durchführt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige