Eine Tabelle im Format *.csv mit Anführungsstrichen "
um jede Zelle/Spalte 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.
Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?
Dann würde ich mich über einen Beitrag Ihrerseits z.B. 1,00 € freuen … (← Klick mich!)