Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SaveAs CSV

SaveAs CSV
25.07.2005 15:37:09
ullih
Hallo Excel-Spezialisten,
ich habe folgendes Problem.
Wenn ich ein Excel-Arbeitsblatt als csv-Datei speichere, klappt alles prima.
Ich habe diesen Vorgan aufgezeichnet und folgenden Code erhalten:
ChDir "C:\Temp"
ActiveWorkbook.SaveAs Filename:="C:\Temp\Fredi.csv", FileFormat:=xlCSV, _
CreateBackup:=False
Wenn ich den Code aber in ein Makro einbaue und ausführe, erhalte ich Komma statt Semikolon als Trennzeichen.
Hat jemand eine Idee, warum das so ist und wie ich es ändern kann.
Schon mal vielen Dank.
Gruß UlliH
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SaveAs CSV
25.07.2005 20:54:20
MartinM
Hallo UlliH
Das sollte Dir helfen Dein Problem zu bearbeiten.
Die lösung heist schreiben und anschliessend suchen und ersetzen.
https://www.herber.de/forum/archiv/176to180/t177990.htm
Mit einem freundlichen Gruss
Martin
Anzeige
AW: SaveAs CSV
25.07.2005 21:55:37
Ramses
Hallo
ab office 2000 geht das
ActiveWorkbook.SaveAs Filename:="C:\Temp\Fredi.csv", FileFormat:=xlCSV, CreateBackup:=False, local:=True
Das übernimmt das Listentrennzeichen aus dem Betriebssystem.
Dort muss es natürlich korrekt eingestellt sein :-)
Gruss Rainer
AW: SaveAs CSV
26.07.2005 09:00:01
ullih
Danke Euch beiden.
Hat mir sehr geholfen!
Gruß Ullih
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

CSV-Dateien mit VBA speichern in Excel


Schritt-für-Schritt-Anleitung

Um ein Excel-Arbeitsblatt als CSV-Datei zu speichern, kannst Du folgenden VBA-Code verwenden. Dieser Code nutzt die SaveAs-Methode des ActiveWorkbook:

Sub SaveAsCSV()
    ChDir "C:\Temp" ' Verzeichnis, in dem die CSV gespeichert wird
    ActiveWorkbook.SaveAs Filename:="C:\Temp\Fredi.csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=True
End Sub

Die Option Local:=True sorgt dafür, dass das Listentrennzeichen des Betriebssystems verwendet wird. Achte darauf, dass dieses korrekt eingestellt ist, um Kommas oder Semikolons entsprechend zu erhalten.


Häufige Fehler und Lösungen

  1. Trennzeichen-Problem: Wenn Du beim Speichern eine CSV-Datei mit Kommas statt Semikolons erhältst, könnte das an den Regionseinstellungen Deines Betriebssystems liegen. Stelle sicher, dass das Listentrennzeichen korrekt konfiguriert ist.

  2. Fehlende Local-Option: Wenn Du die Local:=True-Option nicht nutzt, wird das Standardtrennzeichen von Excel verwendet, was zu unerwünschten Ergebnissen führen kann. Füge diese Option hinzu, um sicherzustellen, dass das richtige Trennzeichen verwendet wird.


Alternative Methoden

Falls Du VBA nicht verwenden möchtest, kannst Du auch die "Speichern unter"-Funktion in Excel nutzen:

  1. Klicke auf "Datei" > "Speichern unter".
  2. Wähle den Speicherort und setze den Dateityp auf "CSV (Comma delimited) (*.csv)".
  3. Klicke auf "Speichern".

Diese Methode ist jedoch weniger automatisiert und eignet sich besser für einmalige Vorgänge.


Praktische Beispiele

  1. Speichern mit benutzerdefiniertem Dateinamen:

    Sub SaveAsCSVWithCustomName()
        Dim fileName As String
        fileName = "C:\Temp\CustomName.csv"
        ActiveWorkbook.SaveAs Filename:=fileName, FileFormat:=xlCSV, CreateBackup:=False, Local:=True
    End Sub
  2. Speichern mehrerer Arbeitsblätter als CSV:

    Sub SaveMultipleSheetsAsCSV()
        Dim ws As Worksheet
        For Each ws In ThisWorkbook.Worksheets
            ws.Copy
            ActiveWorkbook.SaveAs Filename:="C:\Temp\" & ws.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=True
            ActiveWorkbook.Close False
        Next ws
    End Sub

Tipps für Profis

  • Nutze die CreateBackup:=False-Option, um keine Backup-Datei beim Speichern zu erstellen, es sei denn, Du benötigst diese Funktion.
  • Wenn Du mit großen Datenmengen arbeitest, teste zuerst den Speicherprozess mit einer kleinen Datenmenge, um sicherzustellen, dass alles wie gewünscht funktioniert.
  • Berücksichtige, dass die SaveAs-Methode die aktuelle Arbeitsmappe schließt. Wenn Du das vermeiden möchtest, speichere die Daten in einer neuen Arbeitsmappe.

FAQ: Häufige Fragen

1. Warum bekomme ich beim Speichern mit VBA nicht das gewünschte Trennzeichen?
Das kann an den Regionseinstellungen Deines Betriebssystems liegen. Stelle sicher, dass Du Local:=True in Deinem VBA-Code verwendest.

2. Ist es möglich, mehrere Arbeitsblätter als CSV-Dateien zu speichern?
Ja, Du kannst eine Schleife verwenden, um jedes Arbeitsblatt einzeln zu kopieren und als CSV zu speichern. Das Beispiel im Abschnitt Praktische Beispiele zeigt, wie das geht.

3. Welche Excel-Version benötige ich für die SaveAs-Funktion mit CSV?
Die SaveAs-Funktion ist in Excel ab Version 2000 verfügbar, aber es wird empfohlen, eine aktuelle Version zu verwenden, um von den neuesten Funktionen und Verbesserungen zu profitieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige