Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

In EXCEL VBA, CSV-Datei öffnen





Frage

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, [code]Workbooks.Open "A:\Dateiname.csv"[/code] 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: [code]Workbooks.OpenText Filename:="A:\Dateiname.csv" , DataType:=xlDelimited, semicolon:=True[/code] oder [code]Workbooks.Open Filename:="A:\Dateiname.csv", Format:=4[/code] 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 [code]Name *.CSV As *.TXT[/code] Umbenennen. Mfg und Dank im Voraus Herbert67

Antwort 1 von Beverly

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

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

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

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: