*.csv-Export (Bereiche)

Nur bestimmte Bereiche als *.csv exportieren

Ein ganzes Arbeits­blatt als *.csv zu spe­ich­ern, das ist ja nicht so schw­er. Das geht sog­ar ohne VBA. Wenn allerd­ings nur bes­timmte Bere­iche exportiert wer­den sollen oder son­stige Ein­schränkun­gen vor­liegen, dann ist ein Makro erforder­lich.

Im fol­gen­den Beispiel sollen aus dem aktuellen Arbeits­blatt nur die Spalte 1:10 exportiert wer­den. Als zusät­zliche Ein­schränkung gilt, dass Zeilen, die in diesen ersten 10 Spal­ten keinen Inhalt haben (also leer sind), auch nicht exportiert wer­den sollen. Dieser Code erfüllt die Forderun­gen:

Option Explic­it

Sub alsCSVschreiben()

Dim Ze As Long, Sp As Inte­ger

Dim FF As Inte­ger

Dim Full­Path As String

Dim lRow As Long

Dim Zeile As String, Zelle As String

lRow = Cells.Find(what:=”*”, _

SearchOrder:=xlByRows, _

SearchDirection:=xlPrevious).Row

Full­Path = „D:\DataTest.csv

FF = FreeFile

Open Full­Path For Out­put As #FF

For Ze = 1 To lRow

If WorksheetFunction.CountA(Range(„A” & Ze & „:J” & Ze)) > 0 Then

Zeile = „”

For Sp = 1 To 9

Zelle = Cells(Ze, Sp)

If Not IsNumeric(Zelle) Then Zelle = Chr(34) & Zelle & Chr(34)

Zeile = Zeile & Zelle & „;”

Next Sp

Zelle = Cells(Ze, 10)

If Not IsNumeric(Zelle) Then Zelle = Chr(34) & Zelle & Chr(34)

Zeile = Zeile & Zelle

Print #1, Zeile

End If

Next Ze

Close #FF

Msg­Box „Fer­tig!”

End Sub

Sie kön­nen den Code hier als *.zip (Inhalt: Text.Datei) herun­ter­laden.

▲ nach oben …

Dieser Beitrag wurde unter Code-Schnipsel, Daten-Import / -Export, Verschiedenes abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.