Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1384to1388
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

Code erzeugt unbrauchbare CSV-Datei

Code erzeugt unbrauchbare CSV-Datei
07.10.2014 18:56:33
stormlamp
Hallo Zusammen,
vor ein paar Tagen wurde mir hier geholfen mit einem Code, der ein Tabellenblatt in einer neuen Mappe erzeugt und diese neue Mappe dann unter einem ganz bestimmten Namen im gleichen Verzeichnis abspeichert, wie die Ursprungsdatei aber im CSV-Format.
Das funktioniert auch, aber wenn ich dann diese CSV-Datei öffne mit Excel, dann werden die Felder nicht kommasepariert in Spalten verteilt sondern der gesamte Inhalt einer Zeile mitsamt den Kommata steht jeweils in der Zelle der Spalte A.
Also steht dann bspw. in Zelle A6 "4711,10,,13,0,0,0,8,7,8,0,0,,0,0"
Kann mir bitte jemand helfen, den Fehler zu beseitigen. Hier der Code:
Dim wkb As Workbook
Dim wks As Worksheet
Dim strpath As String
Dim strDatei As String
Dim strdefault  As String
Dim strName As String
Set wkb = ThisWorkbook
Set wks = wkb.Sheets("Tabelle1")
strpath = wkb.Path
strdefault = Mid(wks.Cells(2, 1).Value, 2, 2) 'Teilstring der Zelle A2 als Vorgabewert
strName = InputBox("Bitte geben Sie den Benutzer ein: ", "Eingabe", Default:=strdefault)
strDatei = strpath & "\Benutzer_" & strName & "_" & Year(Now) & "_" & Month(Now) & "_" & _
Day(Now) & "_" & Hour(Now) & "_" & Minute(Now) & ".csv"
wks.Copy
ActiveWorkbook.SaveAs Filename:=strDatei, FileFormat:=xlCSV, CreateBackup:=False

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

Betreff
Datum
Anwender
Anzeige
AW: Code erzeugt unbrauchbare CSV-Datei
07.10.2014 20:01:55
Daniel
Hi
Excel spricht landessprache (also hier deutsch)
VBA spricht meistens englisch.
wenn du per Makro eine CSV-Datei erstellst, wird diese im Regelfall im englischen CSV-Format gespeichert, dh das Spaltentrennzeichen ist das Komma.
Wenn du diese Datei dann mit einem deutschen Excel von Hand öffnest, richtet sich Excel nach dem deutschen CSV-Format mit dem Semikolon als Trennzeichen.
um beim SpeichernUnter per Makro ein deutsches CSV zu erhalten (bzw ein "landestypisches") dann muss man das beim Speichern explizit angeben:
ActiveWorkbook.SaveAs Filename:=strDatei, FileFormat:=xlCSV, CreateBackup:=False, Local:=True
Gruß Daniel

Anzeige
Gelöst: Code erzeugt unbrauchbare CSV-Datei
08.10.2014 07:39:39
stormlamp
Hallo Daniel,
vielen Dank, genau das war es. Nachdem ich noch "Local:=True" eingefügt habe, werden die CSV-Dateien richtig erzeugt.
Gruß
Hans

AW: Code erzeugt unbrauchbare CSV-Datei
07.10.2014 20:02:46
Oberschlumpf
Hi ?
Wie öffnest du denn die csv-Datei?
Tust du das, in dem du zuerst Excel startest, und dann über Datei öffnen, csv als Dateityp auswählst, und dann den Anweisungen des Assistenten folgst?
Wenn du es genau so tust, dann zeig uns bitte mal die csv-Datei.
Datei bitte Uploaden und nicht nur den Inhalt hier posten.
Ciao
Thorsten

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige