Semikolon anstelle Komma in CSV-Dateien
Schritt-für-Schritt-Anleitung
Um eine CSV-Datei mit Semikolons anstelle von Kommas zu speichern, folge diesen Schritten:
- Öffne deine Excel-Datei und stelle sicher, dass die Daten in den gewünschten Spalten stehen.
- Verwende den folgenden VBA-Code, um die Datei zu speichern. Achte darauf,
Local:=True
hinzuzufügen, damit die Datei im deutschen Format mit Semikolon gespeichert wird:
ActiveWorkbook.SaveAs Filename:="Z:\foo\foo\foo.txt", _
FileFormat:=xlCSVMSDOS, Local:=True, CreateBackup:=False
ActiveWorkbook.Close SaveChanges:=True
- Füge in der ersten Zeile deiner Excel-Tabelle ein Hochkomma (
'
) in die leeren Zellen ein, um sie im Export leer zu lassen.
- Speichere die Datei und überprüfe das Ergebnis.
Häufige Fehler und Lösungen
-
Problem: Die Spalten sind im Export mit Kommas getrennt.
- Lösung: Stelle sicher, dass du
Local:=True
im VBA-Befehl verwendest.
-
Problem: Leerzeichen zwischen den Einträgen erscheinen im Export.
- Lösung: Achte darauf, dass du nur eine Spalte für den Export nutzt. Alle Texte sollten in Spalte A zusammengefasst werden.
-
Problem: Anführungszeichen erscheinen um den Text.
- Lösung: Speichere die Datei im
.prn
Format (formatierter Text, leerzeichen-getrennt), um Anführungszeichen zu vermeiden.
Alternative Methoden
-
Verwende die Funktion „Text in Spalten“: Wenn du eine CSV-Datei mit Kommas hast, kannst du diese in Excel öffnen und die Funktion „Text in Spalten“ nutzen, um die Daten mit Semikolon zu trennen.
-
Excel als CSV mit Semikolon speichern: Nutze die Option „Speichern unter“ und wähle das Format „CSV (MSDOS)“, um sicherzustellen, dass das Trennzeichen ein Semikolon ist.
-
Makros verwenden: Erstelle ein Makro, das die Daten in der gewünschten Form zusammenfasst und als CSV mit Semikolon speichert.
Praktische Beispiele
Hier ist ein einfaches Beispiel für den VBA-Code, den du verwenden kannst:
Sub ExportAsCSV()
Dim strOut As String, i As Long, arrTmp
i = 1
arrTmp = Range(Cells(i, 1), Cells(i, Columns.Count).End(xlToLeft).Offset(, 3))
arrTmp = WorksheetFunction.Transpose(arrTmp)
strOut = Join(arrTmp, ";")
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
arrTmp = Range(Cells(i, 1), Cells(i, Columns.Count).End(xlToLeft).Offset(, 1))
arrTmp = WorksheetFunction.Transpose(arrTmp)
strOut = strOut & vbCrLf & Join(arrTmp, ";")
Next
Open "c:\temp\output.txt" For Output As #1
Print #1, strOut
Close #1
End Sub
Tipps für Profis
FAQ: Häufige Fragen
1. Wie kann ich eine CSV-Datei mit Semikolon statt Komma speichern?
Du musst den SaveAs
Befehl in VBA mit Local:=True
verwenden.
2. Was tun, wenn die Datei immer noch mit Kommas gespeichert wird?
Überprüfe, ob du das richtige Dateiformat (CSV MSDOS) gewählt hast und dass Local:=True
im Befehl enthalten ist.
3. Wie kann ich sicherstellen, dass die CSV-Datei korrekt formatiert ist?
Verwende die Funktion „Text in Spalten“ in Excel, um sicherzustellen, dass die Daten korrekt in Spalten aufgeteilt werden.