Hallo liebes Forum!
Ich versuche gerade ein VBA zu erstellen, welches mir den Export einer Exceldatei in eine CSV-Datei bewerkstelligt und komme nicht weiter!
Zur Ausgangssituation: Ich besitze sehr viele Exceldatein, wobei jede fast 60 Tabellenblätter umfasst. Nun würde ich von jedem Tabellenblatt gerne 2 Spalten (in jedem Tabellenblatt sind dies die Spalten E und F) als CSV-Datei zur weiteren Bearbeitung exportieren! Weiters sollen Leerzeilen, welche in der Exceldatei in dieses Spalten enthalten sind, ignoriert werden und somit wirklich nur die Werte in die CSV-Datei exportiert werden. Weiters wäre schöne, wenn die CSV-Datei automatisch mit dem Namen des gerade exportierten Tabellenblattes benannt werden würde.
Ich habe es bereits mit nachstehendem Code versucht, allerdings kann ich hier nur lediglich eine Spalte exportieren und nicht 2....
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
Vielleicht hat jemand einen Lösungsansatz oder eine Alternative zum Lösen meines Problems parat! Bin für jegliche Unterstützung sehr dankbar!
Lg Michael
|