Makro xls-Dateien teilen und als csv speichern

Bild

Betrifft: Makro xls-Dateien teilen und als csv speichern
von: Bettina
Geschrieben am: 24.08.2015 10:43:17

Hallo zusammen,
ich bin leider noch ganz schlecht im Programmieren von Makros und hoffe dass mir jemand weiterhelfen kann.
Ich bräuchte ein Makro welches mehrere Tabellenblätter einzeln speichert und dabei in eine csv-Datei konvertiert.
Die betroffenen Dateien liegen alle im gleichen Ordner mit dem Pfad "C:\Desktop\vorbereitung".
Ich hoffe es kann mir jemand helfen.
Danke und liebe Grüße

Bild

Betrifft: AW: Nachgefragt
von: Michael (migre)
Geschrieben am: 24.08.2015 12:21:20
Hallo Bettina!
Mit welcher XL-Version arbeitest Du?
mehrere Tabellenblätter einzeln speichert
Wie werden innerhalb einer Arbeitsmappe (Datei) die Tabellenblätter bestimmmt, die als CSV abgespeichert werden sollen.
Die betroffenen Dateien
Von wievielen Dateien sprechen wir? Willst Du eine bestimmte Anzahl an Dateien in dem von Dir angegebenen Verzeichnis in einer Schleife durchlaufen, daraus jeweils bestimmte Blätter speichern? Da ist wieder die Frage, wie bestimmt wird, welches Blatt gespeichert werden soll?
Kannst Du dazu noch ein paar Angaben machen?
LG
Michael

Bild

Betrifft: AW: Nachgefragt
von: Bettina
Geschrieben am: 24.08.2015 12:39:48
Hallo Michael,
ich arbeite in Excel 2007;
mehrere Tabellenblätter einzeln speichert
es gibt in jeder Datei 3 Tabellenblätter wobei nur 2 davon verwendet werden sollen,die erste heißt "publicVerkaufte", die zweite "BestandslistenReport". Die Blätter haben immer den gleichen Namen;
Die betroffenen Dateien
Insgesamt sprechen wir von 281 Dateien wobei in dem Ordner in dem sie liegen alle Dateien verwendet werden. Die Dateien sind immer als Datum abgespeichert (01-02-2015, 02-02-2015, 03-02-2015,...) Die daraus bestimmten Blätter sollten dann bestenfalls als publicVerkaufte01-02-2015 und BestandslistenReport01-02-2015 abgespeichert werden.
Vielen Dank
und LG

Bild

Betrifft: AW: Dann so...
von: Michael (migre)
Geschrieben am: 24.08.2015 13:56:37
Bettina,
...könnte natürlich bei 281 Dateien etwas dauern. Probier mal:

Sub TabsAlsCsv()
    Dim Verzeichnis As String
    Dim Datei As String
    Dim Quelle As String
    Dim dName As String
    Dim Tab1 As String
    Dim Tab2 As String
    
    Verzeichnis = "C:\Desktop\vorbereitung" & "\"
    Datei = Dir(Verzeichnis & "??-??-????.xlsx")
    
    Tab1 = "publicVerkaufte"
    Tab2 = "BestandslistenReport"
    
    Application.ScreenUpdating = False
    
    Do Until Datei = ""
    
        Workbooks.Open (Verzeichnis & Datei)
        Quelle = ActiveWorkbook.Name
        dName = Left(Quelle, 10)
        
        Workbooks(Quelle).Worksheets(Tab1).Copy
        ActiveWorkbook.SaveAs Filename:=Verzeichnis & Tab1 & dName, FileFormat:=xlCSV
        ActiveWorkbook.Close savechanges:=False
        Workbooks(Quelle).Worksheets(Tab2).Copy
        ActiveWorkbook.SaveAs Filename:=Verzeichnis & Tab2 & dName, FileFormat:=xlCSV
        ActiveWorkbook.Close savechanges:=False
        Workbooks(Quelle).Close savechanges:=False
        
        Datei = Dir
    
    Loop
    Application.ScreenUpdating = True
End Sub
LG
Michael

Bild

Betrifft: AW: Dann so...
von: Bettina
Geschrieben am: 24.08.2015 16:26:39
Hallo Michael,
Wow ich bin beeindruckt ;-), vielen Dank es funktioniert..
LG und einen schönen Tag,
Bettina

Bild

Betrifft: AW: Haha... Danke, aber...
von: Michael (migre)
Geschrieben am: 24.08.2015 16:43:12
...so beeindruckend ist das wohl noch nicht :-).
Ich danke Dir für die wirklich nette Rückmeldung.
LG und schönen Abend
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Makro xls-Dateien teilen und als csv speichern"