Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: CSV-Export - Umbruch innerhalb eines Feldes

CSV-Export - Umbruch innerhalb eines Feldes
16.09.2008 10:48:24
Tillo
Hallo in die Runde,
ich benötige mal eure Hilfe (bin Anfänger!). Ich benutze ein VBS-Script um CSV-Dateien sauber zu schreiben (siehe unten). Leider gibt es noch das Problem, dass Zeilenumbrüche innerhalb einer Zelle dazu führen, dass dieser Umbruch in der CSV als Ende der jeweiligen Zeile geschrieben wird. Somit steht dann der Rest in einer neuen Zeile, was in der CSV folglich zu Problemen beim weiteren Import in ein anderes Programm führt.
Da es sich bei dem Text um HTML-Code handelt, sollten diese Zeilenumbrüche in HTML-Zeichen, also BR in spitzen Klammern, umgewandelt werden. Im VBA-Script sollte also etwas hinzugefügt werden, das jeden Zelleninhalt auf Umbrüche prüft und diese ersetzt.
Hier ist das verwendete Script:

Sub SaveCSV()
' Speichert den Inhalt eines Arbeitsblatts als CSV-Datei
' mit wählbarem Trennzeichen und Maskierung von Einträgen
Dim Bereich As Object, Zeile As Object, Zelle As Object
Dim strTemp As String
Dim strDateiname As String
Dim strTrennzeichen As String
Dim strMappenpfad As String
strMappenpfad = ActiveWorkbook.FullName
strMappenpfad = Replace(strMappenpfad, ".xls", ".csv")
strDateiname = InputBox("Wie soll die CSV-Datei heißen (inkl. Pfad)?", "CSV-Export",  _
strMappenpfad)
If strDateiname = "" Then Exit Sub
strTrennzeichen = InputBox("Welches Trennzeichen soll verwendet werden?", "CSV-Export", ";")
If strTrennzeichen = "" Then Exit Sub
Set Bereich = ActiveSheet.UsedRange
Open strDateiname For Output As #1
For Each Zeile In Bereich.Rows
For Each Zelle In Zeile.Cells
strTemp = strTemp & """" & CStr(Zelle.Text) & """" & strTrennzeichen
Next
If Right(strTemp, 1) = strTrennzeichen Then strTemp = Left(strTemp, Len(strTemp) - 1)
Print #1, strTemp
strTemp = ""
Next
Close #1
Set Bereich = Nothing
MsgBox "Datei wurde exportiert nach" & vbCrLf & strDateiname
End Sub


Herzlichen Dank für jede Hilfe. ;)
Gruß
Tillo R.

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV-Export - Umbruch innerhalb eines Feldes
16.09.2008 10:58:35
Rudi
Hallo,
versuchs mal so:
strTemp = strTemp & """" & Replace(CStr(Zelle.Text), Chr(10), "
") & """" & strTrennzeichen
Gruß
Rudi
AW: CSV-Export - Umbruch innerhalb eines Feldes
16.09.2008 11:08:00
Tillo
Hallo Rudi,
super, funktioniert. *jubel*
Herzlichen Dank.
Gruß
Tillo R.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

CSV-Export: Umbruch innerhalb eines Feldes beheben


Schritt-für-Schritt-Anleitung

Um einen CSV-Zeilenumbruch in Zelle zu vermeiden, wenn Du ein VBS-Script zum Exportieren von Daten verwendest, folge diesen Schritten:

  1. Öffne dein VBS-Script in einem Text-Editor.
  2. Finde die Zeile, die für das Zusammenfügen der Zelleninhalte zuständig ist.
    strTemp = strTemp & """" & CStr(Zelle.Text) & """" & strTrennzeichen
  3. Ersetze diese Zeile durch die folgende, um Zeilenumbrüche innerhalb einer Zelle durch <br> zu ersetzen:
    strTemp = strTemp & """" & Replace(CStr(Zelle.Text), Chr(10), "<br>") & """" & strTrennzeichen
  4. Speichere das Script und führe es aus.
  5. Teste den Export und überprüfe, ob die Umbrüche korrekt in HTML-Zeichen umgewandelt wurden.

Häufige Fehler und Lösungen

  • Problem: CSV-Datei wird nicht korrekt erstellt.

    • Lösung: Stelle sicher, dass der Dateiname und das Trennzeichen korrekt eingegeben werden.
  • Problem: Zeilenumbrüche erscheinen als neue Zeilen.

    • Lösung: Verwende die oben beschriebene Zeile, um CSV-Zeilenumbrüche in Zellen zu ersetzen.

Alternative Methoden

Wenn Du CSV nach Excel exportierst und Zeilenumbrüche vermeiden möchtest, kannst Du auch PowerShell verwenden:

Import-Csv "deineDatei.csv" | ForEach-Object {
    $_.Feldname = $_.Feldname -replace "`n", "<br>"
} | Export-Csv -NoTypeInformation -Force "neueDatei.csv"

Diese Methode entfernt die Probleme mit Zeilenumbrüchen und ermöglicht einen sauberen Export.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du mit den oben genannten Methoden arbeiten kannst:

  1. VBS-Script Beispiel: Verwende das folgende Script, um Zeilenumbrüche innerhalb einer Zelle zu ersetzen:

    Sub SaveCSV()
       ' (Dein bestehendes Script)
       strTemp = strTemp & """" & Replace(CStr(Zelle.Text), Chr(10), "<br>") & """" & strTrennzeichen
       ' (Rest des Scripts)
    End Sub
  2. PowerShell Beispiel: Wenn Du die CSV-Datei mit PowerShell bearbeitest:

    Import-Csv "C:\Pfad\zu\deinerDatei.csv" | ForEach-Object {
       $_.Feldname = $_.Feldname -replace "`n", "<br>"
    } | Export-Csv -NoTypeInformation -Force "C:\Pfad\zu\neueDatei.csv"

Tipps für Profis

  • Nutze VBS-Scripts, um die Datenautomatisierung in Excel zu verbessern.
  • Überprüfe regelmäßig, ob alle Zeilenumbrüche korrekt umgewandelt werden, um Probleme beim Import in andere Programme zu vermeiden.
  • Wenn Du mit großen Datenmengen arbeitest, erwäge die Verwendung von PowerShell, um die Verarbeitungsgeschwindigkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass mein CSV-Export keine Zeilenumbrüche enthält?
Verwende die Replace-Funktion im VBS-Script, um Zeilenumbrüche durch <br> zu ersetzen.

2. Gibt es eine Möglichkeit, CSV-Dateien ohne Anführungszeichen zu exportieren?
Ja, Du kannst die Option -NoTypeInformation in PowerShell verwenden, um Export-Csv ohne Anführungszeichen zu erstellen.

3. Was kann ich tun, wenn mein VBS-Script nicht funktioniert?
Überprüfe, ob alle Variablen korrekt deklariert sind und dass die Datei nicht schreibgeschützt ist.

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