Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA csv Datei Import/Kopieren in Tabellenblatt
#1
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


Angehängte Dateien
.xlsm   Beispiel_import_v2.xlsm (Größe: 136,76 KB / Downloads: 3)
.csv   plankarmin2.csv (Größe: 7,17 KB / Downloads: 4)
Antworten Top
#2
(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.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#3
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.
Antworten Top
#4
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
[-] Folgende(r) 1 Nutzer sagt Danke an Zwenn für diesen Beitrag:
  • Hatsch
Antworten Top
#5
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.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste