Clever-Excel-Forum

Normale Version: VBA csv Datei Import/Kopieren in Tabellenblatt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo an alle,

habe ein komisches Problem:

kopiere per Makro die Daten eine csv files in ein Tabellenblatt einer Arbeitsmappe. Das csv file (im Anhang) ist nicht kommagetrennt, sondern schön in Spalten aufgeteilt. Auf jeden Fall, wenn ich das Makro starte, werden die Daten bzw. Spalten untereinander gebracht, es sollte aber 1:1 kopiert werden.

Mit .xlsx files funkt das Makro einwandfrei, auch wenn ich das .csv file öffne, als xlsx abspeichere und importiere, klappt es perfekt.

Frage ist nun wieso?  :17:

In der Anlage das csv file und das Zielimportfile

Danke schonmal
(04.07.2019, 11:15)Hatsch schrieb: [ -> ]Das csv file (im Anhang) ist nicht kommagetrennt, sondern schön in Spalten aufgeteilt.
Und den Weihnachtsmann gibt es wirklich.
Öffne die csv-Datei mit einem Text-Editor.
Im Texteditor ist es ja logisch, aber wenn ich mit Excel öffne, sind die Spalten da.

Bringt mich jetzt aber auch nicht wirklich weiter, wenn ich z.B. die csv mit Excel öffne, alles kopiere und in die Tabelle einfüge, klappts ja auch ohne Probleme.
Hallo Hatsch,

eine CSV-Datei ist eine reine Textdatei, die erstmal absolut gar nix mit Excel zu tun hat. Eine XLSX-Datei ist etwas völlig anderes und deshalb funktioniert Dein Makro auch nicht mit beiden Datei-Typen.

Deine CSV hat auch keine feste Spaltenbreite, sondern die Datenfelder sind mit Simikolon voneinander getrennt. Darüber hinaus gibt es Texteinschlusszeichen (einfache Anführungsstriche), die um die Datenfelder gelegt sind. Du kannst das sehr leicht sehen, wenn Du die CSV einfach mal im Editor öffnest. Der kann nur Text darstellen. Die Texteinschlusszeichen kannst Du sogar in Deiner Beispielmappe noch in einigen Spalten sehen.

Importiere die CSV mal über Daten -> Externe Datenabrufen -> Daten aus Text. In dem Dialog kannst Du Einstellungen vornehmen, um so eine CSV richtig zu importieren. Mach das mal manuell, um ein Gefühl dafür zu bekommen, was Du da eigentlich machst.

Ein Makro kann ich Dir aus Zeitmangel grade nicht zur Verfügung stellen.

Viele Grüße,

Zwenn
Das Öffnen im Text-Editor sollte dir zeigen dass da nichts "schön in Spalten" aufgeteilt ist, weil eine Textdatei keine Spalten kennt. Es gibt nur Datenfeld-Trenner und Datensatz-Trenner.

Das "schön in Spalten" macht Excel beim Öffnen einer csv-Datei.