Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1008to1012
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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.

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

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige