Ein kleines Excel-Makro für den Export von csv-Dateien

vom: 20.03.2025
Was tun, wenn ein Excel-Sheet als CSV-Datei exportiert werden muss und das Format der von Excel generierten CSV-Datei nicht dem Geschmack des Benutzers entspricht?
Vielleicht kann Ihnen unser kleines Excel-Makro hier weiterhelfen.
 
Mit dem nachfolgenden VB-Makro-Code ist es möglich:
  • Ein beliebiges Trennzeichen für die einzelnen Spalten zu wählen
  • Die Werte optional in Anführungszeichen zu setzen
Business-Links.png

Hier die Kopiervorlage:

Sub ExportCSV()
 
Dim Bereich As Object, Zeile As Object, Zelle As Object
Dim strTemp As String
Dim strDateiname As String
Dim strTrennzeichen As String
Dim strMappenpfad As String
Dim blnAnfuehrungszeichen As Boolean
 
strMappenpfad = ActiveWorkbook.FullName
strDateiname = InputBox("Bitte den Namen der CSV-Datei angeben.", "CSV-Export", strMappenpfad)
 
If strDateiname = "" Then Exit Sub
strTrennzeichen = InputBox("Welches Trennzeichen soll verwendet werden?", "CSV-Export", ",")
If strTrennzeichen = "" Then Exit Sub
 
If MsgBox("Sollen die Werte in Anführungszeichen exportiert werden?", vbQuestion + vbYesNo, "CSV-Export") = vbYes Then
    blnAnfuehrungszeichen = True
Else
    blnAnfuehrungszeichen = False
End If
 
Set Bereich = ActiveSheet.UsedRange
Open strDateiname For Output As #1
 
For Each Zeile In Bereich.Rows
    For Each Zelle In Zeile.Cells
        If blnAnfuehrungszeichen = True Then
            strTemp = strTemp & """" & CStr(Zelle.Text) & """" & strTrennzeichen
        Else
            strTemp = strTemp & CStr(Zelle.Text) & strTrennzeichen
        End If
    Next
    If Right(strTemp, 1) = strTrennzeichen Then strTemp = Left(strTemp, Len(strTemp) - 1)
    Print #1, strTemp
    strTemp = ""
Next
 
  Close #1
  Set Bereich = Nothing
  MsgBox "Export erfolgreich. Datei wurde exportiert nach" & vbCrLf & strDateiname
 
End Sub
 
Wie Sie dieses Makro innerhalb von Excel benutzen bzw. einfügen können, zeigt folgendes Video: