Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CSV mit Anführungszeichen und Komma

CSV mit Anführungszeichen und Komma
18.01.2021 14:45:13
Tamara
Hallo zusammen,
ich bin langsam am verzweifeln und am Rande meiner Kreativität was Google-Suchanfragen angeht.
Ich habe folgendes Problem:
Kunde fordert eine tägliche Auswertung als .csv Datei an. Dieser sitzt in Amerika und möchte daher gerne den Trenner als Komma haben und jeden Zellwert in doppelten Anführungszeichen.
Da die Auswertung täglich erstellt werden muss kommt eine Umstellung der Office Region eigentlich nicht in Frage, da dies andere Tätigkeiten negativ beeinflussen würde.
Ich habe nun ein Makro gefunden, welches mir die CSV wunderschön erstellt: http://www.excel-ist-sexy.de/csv-export-mit-anfuehrungsstrichen/
Möchte nicht so tun als wäre es mein Verdienst und die Domain ist klasse :D
Es funktioniert auch alles soweit, meine CSV sieht super aus.
Allerdings (bitte fragt mich nicht warum) wird die Datei nicht in Excel weiterbearbeitet sondern der Kunde öffnet diese in Notepad. Und dann sieht das ganze nicht so aus
Statt
"Wert1,"Wert2","Wert3","","Wert5"
Wird folgendes angezeigt:
"""Wert"",""Wert2"",""Wert3"","""",""Wert5"""
Egal was ich bisher angepasst und gedreht und gewendet habe, in Notepad kommen immer entweder 2-3 oder keine Anführungszeichen an.
Die einzige Lösung die ich bisher gefunden habe ist die Datei nachträglich nochmals in Notepad zu öffnen und die Anführungszeichen durch suchen und ersetzten zu reduzieren.
Gibt es hier eine schickere Lösung auf die ich bisher noch nicht gestoßen bin?
Danke schon mal für eure Hilfe :)
LG Tamara

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV mit Anführungszeichen und Komma
18.01.2021 15:00:42
Nepumuk
Hallo Tamara,
teste mal:
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
    Dim Anf As String
    Const csvExport = "H:\csvExportSpezial.csv" 'Anpassen
    Const Trenner As String = "," 'Trenner für Spalten, kann angepasst werden
    Anf = Chr$(34)
    
    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 & Trenner & Anf & CStr(wks.Cells(Ze, Sp).Text) & Anf
        Next Sp
        ZeTmp = Mid(ZeTmp, 2) 'Letztes Trennzeichen löschen
        Print #Frf, ZeTmp
        ZeTmp = ""
    Next Ze
    Close #Frf
End Sub

Gruß
Nepumuk
Anzeige
AW: CSV mit Anführungszeichen und Komma
18.01.2021 15:34:53
Tamara
Hi Nepumuk,
danke für die schnelle Rückmeldung!
Leider passiert hier genau das gleiche :(
Ich vermute stark, dass es an der Regionen Einstellung liegt.
Gibt es irgendeine Möglichkeit die Region über VBA nur für die Zeit der Ausführung umzustellen?
Ich verstehe auch nicht so richtig, warum die Excel Datei gut aussieht und es nur in Notepad falsch ist. Im Text-Editor kommen übrigens auch zu viele Anführungszeichen raus, das habe ich gerade auch mal getestet.
Danke & LG Tamara
AW: CSV mit Anführungszeichen und Komma
18.01.2021 15:47:52
Nepumuk
Hallo Tamara,
bei mir nicht. Schau mal: https://www.herber.de/bbs/user/143089.txt
Gruß
Nepumuk
Anzeige
AW: CSV mit Anführungszeichen und Komma
20.01.2021 15:32:44
Tamara
Hi Nepomuk,
jetzt funktioniert es gut, vielen Dank! :)
Ich hatte den Code zuvor etwas angepasst dabei ist wohl was schiefgelaufen.
Jetzt läuft es.
Eine letzte Frage hätte ich trotzdem noch:
Const csvExport = "C:\Test\csvExportSpezial.csv"

Mit diesem Teil gebe ich ja an, wo die Datei schon liegt, in der später mein Inhalt gespeichert werden soll.
Die spätere Datei soll allerdings immer einen Zeitstempel am Ende des Dateinamens bekommen.
Ich habe jetzt echt lange rumporbiert, aber wenn ich statt der Konstanten im Code eine Variable verwende bekomme ich ab hier einen Fehler:
Open csvExport For Output As #Frf

Wenn ich am Ende des Codes versuche die Datei einfach umzubenennen kommt der Fehler, dass die Datei bereits geöffnet ist.
Wo stehe ich auf dem Schlauch?
Danke & LG Tamara
Anzeige
AW: CSV mit Anführungszeichen und Komma
20.01.2021 15:41:23
Nepumuk
Hallo Tamara,
so ok?
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
    Dim Anf As String, csvExport As String
    
    Const Trenner As String = "," 'Trenner für Spalten, kann angepasst werden
    
    Anf = Chr$(34)
    
    csvExport = "H:\csvExportSpezial" & Format$(Now, "yyyy.mm.dd_Hh-Nn-Ss") & ".csv"
    
    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 & Trenner & Anf & CStr(wks.Cells(Ze, Sp).Text) & Anf
        Next Sp
        ZeTmp = Mid(ZeTmp, 2) 'Letztes Trennzeichen löschen
        Print #Frf, ZeTmp
        ZeTmp = ""
    Next Ze
    Close #Frf
End Sub

Gruß
Nepumuk
Anzeige
AW: CSV mit Anführungszeichen und Komma
25.01.2021 08:53:56
Tamara
Hi Nepomuk,
wenn ich das richtig sehe, hast du im Code "nur"
Const csvExport = "C:\Test\csvExportSpezial.csv"
Gegen

csvExport = "H:\csvExportSpezial" & Format$(Now, "yyyy.mm.dd_Hh-Nn-Ss") & ".csv"
ausgetauscht oder habe ich etwas anderes übersehen?
So habe ich es jedenfalls getestet und sobald der Pfad der csv-Datei nicht mehr als Konstante ans Makro übergeben wird, ist die erzeuget Datei später bei mir leer :(
Danke und LG Tamara
AW: CSV mit Anführungszeichen und Komma
25.01.2021 09:13:19
Nepumuk
Hallo Tamara,
kann ich nicht nachvollziehen. Hast du das versehentlich mit einer leeren Tabelle getestet? Hast du den Pfad angepasst? Hast du auch die richtige CSV (Datums und Zeitstempel) geöffnet?
Gruß
Nepumuk
Anzeige
AW: CSV mit Anführungszeichen und Komma
25.01.2021 11:58:30
Tamara
Hi Nepomuk,
Oh je, ich hatte einen kleinen Denkfehler - der Zeitstempel ändert sich in den letzten zwei Stellen ja logischerweise während der Ausführung des Makros.
Habs jetzt hinbekommen, alles sieht genau so aus wie es soll.
Vielen Dank für die tolle Hilfe! :)
Liebe Grüße
Tamara
AW: CSV mit Anführungszeichen und Komma
18.01.2021 16:15:53
ChrisL
Hi Tamara
Nur eine vage Vermutung.
Evtl. gibt es versteckte Zeichen z.B. Tab in den Excel-Rohdaten.
Teste mal mit =LÄNGE(A1) ob die Anzahl Zeichen mit deiner Anzeige übereinstimmt. Insbesondere deine leere Zelle zwischen Wert3 und Wert5 müsste 0 (null) ausgeben.
cu
Chris
Anzeige

92 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige