VBA zum Datenexport als CSV
21.12.2015 19:08:02
Hans
Bin gerade dabei, ein kleines Makro zu schreiben, um gewisse Spalten aus einer Exceldatei heraus in eine CSV-Datei zu exportieren und hätte folgende Fragen dazu:
1) Wie schaffe ich es, dass ich die Spalten explizit angeben kann, beispielsweise: exportiere die Spalten A bis F, K und L?
Nachstehend der bisherige Code sowie eine Beispieldatei um die Sache etwas greifbarer zu machen:
Sub csvExport()
Dim Ze As Long, Sp As Integer
Dim FF As Integer
Dim FullPath1 As String
Dim lRow As Long
Dim Zeile As String, Zelle As String
lRow = Cells.Find(what:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
FullPath1 = "C:\Users\Foena\Desktop\csv\" & ActiveSheet.Name & ".txt"
FF = FreeFile
Open FullPath1 For Output As #FF
For Ze = 2 To lRow
If WorksheetFunction.CountA(Range("A" & Ze & ":A" & Ze)) > 0 Then
Zeile = ""
For Sp = 1 To 1
Zelle = Cells(Ze, Sp)
If Not IsNumeric(Zelle) Then Zelle = Chr(34) & Zelle & Chr(34)
Zeile = Zelle
Next Sp
Zelle = Cells(Ze, 1)
Zeile = Zelle
Print #1, Zeile
End If
Next Ze
Close #FF
End Sub
https://www.herber.de/bbs/user/102394.xlsm
Falls jemand eine bessere Lösung parat hat, wäre ich natürlich auch sehr erfreut! Das Makro sollte folgendes beherschen:
- Export von vorgegebenen Spalten aus Excel nach CSV
- Trennzeichen = Strichpunkt
- Dateiname der CSV-Datei sollte Name vom aktuellen Tabellenblatt sein
- Leere Zeilen sollten ignoriert werden und nur jene, welche mit Werten gefüllt sind, exportiert werden
Vielen Dank für eure Unterstützung!
Lg Hans