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-Key: 6525349631

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

Printed on: July 16, 2024 at 16:07 o'clock

Member: Meierjo
Meierjo Mar 27, 2023 at 09:26:11 (UTC)
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
Member: justlukas
justlukas Mar 27, 2023 at 09:31:55 (UTC)
Goto Top
Hallo!

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

Danke!
Member: madnem
madnem Mar 27, 2023 at 10:36:12 (UTC)
Goto Top
Ist es denn nun das aktive ODER das erste Tabellenblatt? Beides kann doch wohl nicht sein oder?
Member: Meierjo
Meierjo Mar 27, 2023 at 11:23:50 (UTC)
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
Mitglied: 6247018886
6247018886 Mar 27, 2023 updated at 12:02:40 (UTC)
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