Herbers Excel-Forum - das Archiv

kleines Makro für Tab.-blätter in csv-dateien spei

Bild

Betrifft: kleines Makro für Tab.-blätter in csv-dateien spei
von: Matthias
Geschrieben am: 15.12.2003 14:42:40
Hallo,

folgendes Problem:

wir haben in einem Ordner mehrere xls-Dateien stehen mit jeweils mehreren Tabellenblättern. Alle Tabellenblätter sollen nun alle in ein Verzeichnis als csv-dateien geschrieben werden. Als Name sollen sie die Excel-Tabelle und den Blattnamen tragen, beispielsweise "Excelname_Tabellenblattname.csv"

Kann mir jemand dafür ein kleines Makro schreiben!!

Vielen Dank im voraus.

Matthias

Bild

Betrifft: AW: kleines Makro für Tab.-blätter in csv-dateien spei
von: Nayus
Geschrieben am: 15.12.2003 17:39:14
Hi,
folgendes Makro speichert alle Blätter von Arbeitsmappen in einem Verzeichnis einzeln als CSV-Datei.

Bedingung: Die Mappe mit dem Makro steht nicht im Verzeichnis der zu speichernen Mappen.
To Do: Anpassen des Dateipfades - hier "c:\temp\xls"

Viel Erfolg,
Nayus



Sub SaveDirFilesAsCsv()
Dim sPath As String, sSearchPath As String, sFileName As String
Dim sSheetname As String, sWbName As String
Dim s As Worksheet
'Suche nach allen Exceldateien im Verzeichnis c:\temp\xls
sSearchPath = "c:\temp\xls\*.xls"
sPath = "c:\temp\xls\"
sFileName = Dir(sSearchPath)
If sFileName <> "" Then
Do While sFileName <> ""
Workbooks.Open FileName:=sPath & sFileName
sWbName = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4)
For Each s In ActiveWorkbook.Sheets
s.Select
sSheetname = s.Name
ActiveWorkbook.SaveAs FileName:=sPath & sWbName & "_" & sSheetname & ".csv", _
FileFormat:=xlCSV, CreateBackup:=False
Next s
ActiveWorkbook.Close
'nächste Datei
sFileName = Dir
Loop
End If
End Sub


Bild