online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Herbert67 vom 18.02.2020, 03:34 Options

In EXCEL VBA, CSV-Datei öffnen

Hallo, ich weis, über das Thema ist hier schon viel geschrieben worden, hat mich in meinem Fall aber nicht weiter gebracht.
Ich möchte in Excel, Daten aus CSV-Dateien mit Hilfe eines VBA-Script importieren. Wenn ich eine CSV-Datei von Hand öffne (egal ob in Excel direkt oder aus dem Windows Explorer) wird diese immer automatisch korrekt dargestellt. (Excel 2002 oder 2003)
Wenn ich die CSV-Datei jedoch über das VBA Script öffnen will,
Workbooks.Open "A:\Dateiname.csv"

Wird die Spaltentrennung nicht erkannt und alle Daten einer Zeile werden in die erste Zelle geschrieben.
Da im Dialog Datei öffnen die CSV-Datei unter der Kategorie Textdateien geführt wird habe ich auch noch folgende Methoden ausprobiert:
Workbooks.OpenText Filename:="A:\Dateiname.csv" , DataType:=xlDelimited, semicolon:=True

oder
Workbooks.Open Filename:="A:\Dateiname.csv", Format:=4

Beides bringt jedoch das oben beschriebene unerwünschte Ergebnis.
Kurios ist jedoch, dass wenn ich die CSV-Datei einfach in eine Textdatei umbenenne (*.TXT) funktioniert jede der beschriebenen Methoden auch ohne Argumente für Textdatei und Spaltentrennzeichen!
Weis jemand, wie man eine CSV-Datei richtig öffnet, sonst muss ich alle Dateien mit
Name *.CSV As *.TXT

Umbenennen.
Mfg und Dank im Voraus
Herbert67


Antwort schreiben

Antwort 1 von Beverly vom 18.02.2020, 05:59 Options

Hi Herbert,

weshalb trennst du den Text nach der Übernahme nicht einfach mittels Daten -> Text in Spalten?

Bis später,
Karin

Antwort 2 von Herbert67 vom 19.02.2020, 00:08 Options

Hi Katrin,

meinst du jetzt das Trennen mittels einer String Funktion? Oder wie?
Ich muss noch dazusagen, dass es sich ja eigentlich um Zahlen handelt, mit denen ich noch rechnen will.
Und wenn man davon aus geht, dass ab und zu fast willkürlich doch einige Spalten beim öffnen getrennt werden wird es, finde ich, immer komplizierter.
Es muss doch eine Methode geben, eine CSV-Datei auf abhieb richtig zu öffnen.

Gruß Herbert

Antwort 3 von Herbert67 vom 19.02.2020, 04:46 Options

Hi,

da ich mich immer noch wundere, dass hier im Forum so viel über Probleme mit CSV-Dateien steht, aber nichts über mein konkretes Problem, habe ich nochmals einige Versuche mit der Struktur meiner CSV-Datei gemacht. Auch habe ich noch ein Makro mit dem Textkonvertierungsassistent aufgezeichnet. Beim Ausführen kommt aber immer der gleiche Mist raus, obwohl es bei der Aufzeichnung funktioniert hat.
Also bleibe ich jetzt schließlich beim Umbenennen der Dateien.

Name „Dateiname.csv" As „Dateiname.txt"
Workbooks.OpenText Filename:=”Dateiname.txt", DataType:=xlDelimited, semicolon:=True

Vor dem Umbenennen der Dateien sollte ich aber noch Sicherheitskopien erstellen. Da in der EXCEL-VBA-Hilfe nicht viel Aufschlussreiches über den Umgang mit Dateien auf Windowsebene steht noch folgende Fragen:

1. Wie erstelle ich ein Unterverzeichnis
2. Wie Kopiere ich Dateien
3. Wie frage ich ab, welche Dateien sich in einem Verzeichnis befinden

Gruß Herbert

Antwort 4 von Beverly vom 19.02.2020, 20:44 Options

Hi Herbert,

zu 1. schau in die Hilfe zum Stichwort MkDir-Anweisung
zu 2. schau in die Hilfe zum Stichwort CopyFile-Methode
zu 3. schau mal auf die HP von Hajo Ziplies Seite "Fremde Dateien", Unterseite "VBA". Dort findest du mehrere Beispiele zum Auslesen von Ordnern.

Bis später,
Karin

Ähnliche Themen

CSV Dateien Excel importieren
Meera1  21.03.2007 - 667 Hits -

CSV-Datei wandelt Werte in Datum
Platin7  24.05.2007 - 189 Hits - 5 Antworten

VBA Import Export csv Dateien
superlars234  24.05.2007 - 832 Hits -

Excel Datei als csv abspeichern
Flo76  20.08.2007 - 175 Hits - 12 Antworten

VBA Problem in Excel
lagerverwalter  27.08.2007 - 40 Hits - 7 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026