HERBERS Excel-Forum - das Archiv
alle Tabellblätter als csv exportieren - Verzeichnis wählen
Silke
Hallo,
ich möchte alle Tabellenblätter einer Datei als csv exportieren.
Habe bereits ein Makro gefunden, das auch wunderbar funktioniert. Wie kann ich das Makro ergänzen, damit ich vorgeben kann ich welches Verzeichnis die csv Dateien gespeichert werden?

Sub ExportSheetsToCSV()
Dim xWs As Worksheet
Dim xcsvFile As String
For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.Copy
xcsvFile = CurDir & "\" & xWs.Name & ".csv"
Application.ActiveWorkbook.SaveAs Filename:=xcsvFile, _
FileFormat:=xlCSV, CreateBackup:=False, Local:=True
Application.ActiveWorkbook.Saved = True
Application.ActiveWorkbook.Close
Next
End Sub


Für Hilfe bin ich dankbar
Gruß Silke
AW: alle Tabellblätter als csv exportieren - Verzeichnis wählen
Oberschlumpf
Hallo Silke,

änder diesen Code...

Dim xcsvFile As String
For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.Copy
xcsvFile = CurDir & "\" & xWs.Name & ".csv"

...um in...

Dim xcsvFile As String, sFolder As String

With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then
sFolder = .SelectedItems(1)
End If
End With

If sFolder = "" Then Exit Sub 'beendet das Makro, wenn zuvor kein Zielordner ausgewählt wurde

For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.Copy
xcsvFile = sFolder & "\" & xWs.Name & ".csv"

Hilfts?

Ciao
Thorsten
AW: alle Tabellblätter als csv exportieren - Verzeichnis wählen
Silke
Hallo,
danke für die schnelle Antwort.
Das Makro läuft durch, exportiert anscheinend auch, aber in dem ausgewählten Ordner finden sich die Dateien nicht.

Mein Makro sieht jetzt so aus:


Sub ExportSheetsToCSV2()
Dim xWs As Worksheet
Dim xcsvFile As String, sFolder As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then
sFolder = .SelectedItems(1)
End If
End With

If sFolder = "" Then Exit Sub

For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.Copy
xcsvFile = sFolder & "\" & xWs.Name & ".csv"
Application.ActiveWorkbook.Saved = True
Application.ActiveWorkbook.Close
Next
End Sub

Gruß Silke
AW: alle Tabellblätter als csv exportieren - Verzeichnis wählen
Oberschlumpf
Hi,

und wieso fehlt in deinem neuen Code die Befehlszeile, die .SaveAs beinhaltet?
Mit genau dieser Zeile wird die Datei gespeichert.

Ciao
Thorsten
AW: alle Tabellblätter als csv exportieren - Verzeichnis wählen
Silke
Hallo,
Oh! muss ich nochmal prüfen, komme leider erst morgen mittag dazu da heute und morgen Früh Viko.
Melde mich
Danke
Silke
AW: alle Tabellblätter als csv exportieren - Verzeichnis wählen
Silke
Hallo Thorsten,

habe es geändert, läuft super.

Vielen lieben Dank
Silke