Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1348to1352
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
Inhaltsverzeichnis

JE Zeile eine csv-Datei erzeugen

JE Zeile eine csv-Datei erzeugen
11.02.2014 08:35:45
Jockel
Guten Morgen Forum,
ich benötigte ein Makro, welches mir aus jeder Zeile einer .xlsx Datei eine csv-Datei erstellt.
Zum Hintergrund:
In einer Excel-Tabelle werden wöchentlich Daten gesammelt. Die Datensätze stehen untereinander und die Informationen je Datensatz stehen in Spalte A-M.
Sind alle Datensätze je Woche erfasst, sollen sie mittels Makro als csv-Datei (Semikolon-getrennt) gespeichert werden. Je Zeile entsteht so eine csv-Datei. Der Name der jeweiligen csv-Datei muss aus dem Wert der Spalte K des jeweiligen Datensatz generiert werden. Der Speicherort der csv-Dateien kann gleich dem Verzeichnis der xlsx-Datei sein.
Vielen Dank für Eure Hilfe!!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: JE Zeile eine csv-Datei erzeugen
11.02.2014 09:15:49
Martin
Hallo Jockel,
mit diesem Makro sollte dein Vorhaben klappen:
Sub RowToCSV()
Dim i As Long, j As Integer
Dim strRow As String, strFilePath As String
strFilePath = ThisWorkbook.Path & Application.PathSeparator
For i = 1 To ActiveSheet.UsedRange.Rows.Count
strRow = Empty
For j = 1 To ActiveSheet.UsedRange.Columns.Count
strRow = strRow & Cells(i, j) & ";"
Next j
Open strFilePath & Cells(i, 11) & ".csv" For Output As #1
Print #1, strRow
Close #1
Next i
End Sub
Viele Grüße
Martin

Kleine Änderung....
11.02.2014 09:20:22
Martin
Hallo Jockel,
irgendwie hatte ich überlesen, dass der Export sich auf die Spalten A-M beschränkt. Bei meinem Makro wurden alle vewendeten Spalten in die CSV-Dateien exportiert. Mit diesem Makro ist bei Spalte M auch wirklich Schluss:
Sub RowToCSV()
Dim i As Long, j As Integer
Dim strRow As String, strFilePath As String
strFilePath = ThisWorkbook.Path & Application.PathSeparator
For i = 1 To ActiveSheet.UsedRange.Rows.Count
strRow = Empty
For j = 1 To 13
strRow = strRow & Cells(i, j) & ";"
Next j
Open strFilePath & Cells(i, 11) & ".csv" For Output As #1
Print #1, strRow
Close #1
Next i
End Sub

Anzeige
AW: Kleine Änderung....
11.02.2014 11:22:57
Jockel
Hallo Martin,
das sieht verdammt gut aus. Alle Dateien werden erzeugt. Vielen Dank dafür!!!
Ein kleines Problem hab ich noch:
Das letzte Semikolon verhindert die Weiterverarbeitung der csv-Datei.
Was muss ich im Code ändern?
Gruß
Jockel

AW: Kleine Änderung....
11.02.2014 12:11:52
Rudi
Hallo,
Sub RowToCSV()
Dim i As Long, j As Integer
Dim strRow As String, strFilePath As String
strFilePath = ThisWorkbook.Path & Application.PathSeparator
For i = 1 To ActiveSheet.UsedRange.Rows.Count
strRow = Empty
For j = 1 To 13
strRow = strRow & Cells(i, j) & ";"
Next j
strRow = Left(strRow, Len(strRow)-1)
Open strFilePath & Cells(i, 11) & ".csv" For Output As #1
Print #1, strRow
Close #1
Next i

End Sub

Anzeige
AW: Kleine Änderung....
11.02.2014 12:21:41
Jockel
Perfekt!!!
Vielen Dank an alle!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige