justlukas
Goto Top

Fehlersuche Excelmakro

Hallo zusammen,

mein Excel Makro macht Probleme und ich komme nicht weiter. Es soll mir das aus der Mappe das Tabellenblatt namens "Datev_export" (und nur das) als CSV-Datei im gleichen Ordner wie die Ursprungsdatei speichern.

Wenn ich es ausführe, speichert er jedoch nur das aktive bzw. das erste Tabellenblatt als CSV Datei. Wo ist mein Fehler?

Sub SaveAsCSV()
    Dim ws As Worksheet
    Dim savePath As String
    
    ' Pfad für die CSV-Datei  
    savePath = ThisWorkbook.Path & "\Datev_export.csv"  
    
    ' Auswahl Tabellenblatt  
    Set ws = ThisWorkbook.Sheets("Datev_export")  
    
    ' Speichern als CSV-Datei  
    ws.SaveAs Filename:=savePath, FileFormat:=xlCSV, CreateBackup:=False
End Sub

Content-ID: 6525349631

Url: https://administrator.de/contentid/6525349631

Ausgedruckt am: 22.11.2024 um 16:11 Uhr

Meierjo
Meierjo 27.03.2023 um 11:26:11 Uhr
Goto Top
Hallo
Alo, wenn ich nur 1 Arbeitsmappe offen habe, und das Makro ausführe, speichert es wie gewollt das Tabelleblatt als CSV ab.
Hast du ev mehrere Arbeitsmappen geöffnet?
Wo hast du das Makro gespeichert, unter Modul?, oder unter diese Arbeitsmappe?, oder in einer personal.xlsb?

Gruss
justlukas
justlukas 27.03.2023 um 11:31:55 Uhr
Goto Top
Hallo!

es kann sein, dass ich mehrere Arbeitsmappen geöffnet habe. Es ist unter Modul gespeichert. Ist das richtig so?

Danke!
madnem
madnem 27.03.2023 um 12:36:12 Uhr
Goto Top
Ist es denn nun das aktive ODER das erste Tabellenblatt? Beides kann doch wohl nicht sein oder?
Meierjo
Meierjo 27.03.2023 um 13:23:50 Uhr
Goto Top
Hallo

Kann eigentlich keinen Fehler sehen, einzig nicht so schön ist, dass die aktive Arbeitsmappe nach dem Ausführen des Makros jetzt Datev_export.csv heisst, ich vermute mal, das willst du so nicht.

Probier mal den folgenden Code
Sub Export_CSV()
    Dim ws As Worksheet
    Dim savePath As String
    ' Pfad für die CSV-Datei  
    savePath = ThisWorkbook.Path & "\Datev_export.csv"  
    
    ' Auswahl Tabellenblatt  
    Set ws = ThisWorkbook.Sheets("Datev_export")  
    
    ws.Copy
    ActiveSheet.SaveAs Filename:=savePath, FileFormat:=xlCSV, CreateBackup:=False
    ActiveWorkbook.Close True
End Sub

Gruss
6247018886
6247018886 27.03.2023 aktualisiert um 14:02:40 Uhr
Goto Top
Sub Export_CSV()
    Dim ws As Worksheet, savepath As String
    savepath = ThisWorkbook.Path & "\Datev_export.csv"  
    Set ws = ThisWorkbook.Sheets("Datev_export")  
    With Workbooks.Add
        ws.Copy Before:=.Sheets(1)
        .SaveAs savepath, FileFormat:=xlCSVWindows, CreateBackup:=False
        .Close False
    End With
End Sub
Cheers briggs