Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Speichern unter einer CSV per Makro

Forumthread: Speichern unter einer CSV per Makro

Speichern unter einer CSV per Makro
12.03.2025 11:15:38
pschaupp
Hallo Zusammen,

möchte per Makro eine Exceldatei bis zum Bild speichern unter bringen, damit ich am Ende nur noch den Namen eingeben und anklicken muss in welchen Ordner die Datei
gespeichert wird.
Als Dateityp soll CSV (Trennzeichen-getrennt) ausgewählt werden.

Sub ExpressClass()
'
' ExpressClass Makro
'

'
Sheets("Schulung").Select
Sheets("Schulung").Copy
Cells.Select
Selection.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("B:C").Select
Application.CutCopyMode = False
Selection.ClearContents
Dim Pfad$, Datei$, Filter$
Pfad = "S:\Frau Schaupp\Schulungen\Auswertung\"
Filter = "CSV Files (*.csv), *.csv"
'Filter = "CSV (Trennzeichen-getrennt), *.csv"
ActiveWorkbook.SaveAs Filename:=Application.GetSaveAsFilename(Pfad, Filter)
End Sub

Habe es erst so probiert. Da speichert er mir die CSV mit lauter Hieroglyphen.
Dann habe ich es mit dem zweiten Filter CSV (Trennzeichen-getrennt) probiert. Da läuft das Makro leider auf Fehler. Kann mir bitte jemand weiterhelfen?

LG.
Peggy
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern unter einer CSV per Makro
12.03.2025 11:40:04
Ulf
Hi,
nicht klar ist, warum Leere Spalten erscheinen sollen. Hier mit gelöschten, - sollte beim Import besser funktionieren.


Option Explicit

Sub ExpressClass()
Dim Pfad As String, Datei As String, Filter As String
Dim wb As Workbook
Dim wks As Worksheet
Dim rg As Range
Pfad = "S:\Frau Schaupp\Schulungen\Auswertung\"
Filter = "CSV Files (*.csv), *.csv"
'Filter = "CSV (Trennzeichen-getrennt), *.csv"
Datei = Application.GetSaveAsFilename(Pfad, Filter)
Set wb = ThisWorkbook
Set wks = wb.Worksheets("Schulung")
wks.Copy
Set wb = ActiveWorkbook
Set wks = ActiveSheet
Set rg = wks.UsedRange
rg.Copy
rg.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
rg.Columns("B:C").Delete
'rg.Columns("B:C").ClearContents
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:=Datei, FileFormat:=xlCSVUTF8
End Sub

der Parameter FileFormat bestimmt die zeichen ggf. aus xlCSV umstellen.
hth
Ulf
Anzeige
AW: Speichern unter einer CSV per Makro
13.03.2025 07:52:45
pschaupp
Vielen lieben Dank Ulf.

Dein VBA-Code funktioniert super.

LG.

Peggy

AW: Speichern unter einer CSV per Makro
12.03.2025 14:37:43
Onur
"Habe es erst so probiert. Da speichert er mir die CSV mit lauter Hieroglyphen."?
Kein Wunder, denn dein Code macht Folgendes: Es geht ein Dialog auf, der (dank "Filter = "CSV Files (*.csv), *.csv" ) nur csv-Dateien anzeigt, wo du den Namen der Datei bestimmen kannst und die Exceldatei wird dann mit der Endung "csv" GESPEICHERT (als ob du im Dateiexplorer nur die Endung der Datei geändert hättest).
Solange du nicht als csv EXPORTIERST, wird die Datei nicht im CSV-Format gespeichert, sondern nur MIT DER ENDUNG CSV.
Dein Code mit Fiter macht nix ausser den Dialog, der aufgeht, zu filtern.
Korrekt müsste es lauten:
    ActiveWorkbook.SaveAs Filename:=Application.GetSaveAsFilename(Pfad, Filter), FileFormat:=xlCSVUTF8

Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18