CSV-Export mit Anführungsstrichen

Eine Tabelle im Format *.csv mit Anführungs­strichen um jede Zelle exportieren

Manche Programme verlangen für den Import von Daten, dass die einzelnen Spalten/Zeilen nicht nur durch ein definiertes Trennzeichen (beispielsweise Semikolon oder Komma) getrennt sind, sondern es muss auch jeder einzelne Zelle in Anführungszeichen (Gänsefüßchen) eingefasst werden. Excel an sich bietet solch eine Möglichkeit nicht an. In diesen Fällen muss ein Makro, eine VBA-Routine die Arbeit für Sie erledigen. Der nachfolgende Code erfüllt diesen Zweck:

Option Explicit

Sub CSV_mit_Anfuehrungszeichen()
   Dim wks As Worksheet, Ze As Long, Sp As Long, ZeTmp As String
   Dim lCol As Long, lRow As Long, Frf As Long
   Const csvExport = "C:\Test\csvExportSpezial.csv"   'Anpassen
   Const Trenner As String = ";"    'Trenner für Spalten, kann angepasst werden
   Const Anf As String = """"
   
   Frf = FreeFile
   Set wks = ThisWorkbook.Worksheets("Tabelle1")  'Anpassen: Register-Name
   lCol = wks.Cells(1, Columns.Count).End(xlToLeft).Column
   lRow = wks.Cells(Rows.Count, 1).End(xlUp).Row
   
   Open csvExport For Output As #Frf
   For Ze = 1 To lRow
       For Sp = 1 To lCol
           ZeTmp = ZeTmp & Anf & CStr(wks.Cells(Ze, Sp).Text) & Anf & Trenner
       Next Sp
       ZeTmp = Left(ZeTmp, Len(ZeTmp) - 1)   'Letztes Trennzeichen löschen
       Print #Frf, ZeTmp
       ZeTmp = ""
   Next Ze
   Close #Frf
End Sub

Beachten Sie bitte, dass sie an verschiedenen Stellen den Code ihren Gegebenheiten anpassen müssen. Dieses ist insbesondere das Zielverzeichnis (es muss vorhanden sein, sonst gibt es eine Fehlermeldung), der Name des Arbeitsblatts (Register) und eventuell auch das Trennzeichen.

▲ nach oben …

 
Dieser Beitrag wurde unter Code-Schnipsel, Daten-Import / -Export, Formatierung, Mit VBA/Makro, Tabelle und Zelle, Text abgelegt und mit , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.