Per VBA *.csv – Datei importieren (DE-Format)

Fehler umgehen beim *.csv-Import per VBA

Es scheint ganz einfach zu sein, eine im deutschen Excel erstellte oder auch von einem anderen Programm erstellte *.csv-Datei zu öffnen. Beim Weg über den Dateimanager ist das auch kein Problem. Ein Doppelklick auf die *.csv und die Datei wird geöffnet und korrekt dargestellt. Soll das Ganze jedoch per Makro (VBA) geschehen, dann kann es leicht zu Problemen kommen.

Angenommen, es gibt da ein File mit dem Namen MeineDaten.csv. Sie öffnen den Makrorecorder und zeichnen das öffnen der Datei auf. Das Ergebnis ist wie erwartet, die Daten werden korrekt importiert. Der aufgezeichnete Code sieht dann beispielsweise so aus:

Sub Csv_Import()

Workbooks.Open Filename:=“C:\MeineDaten.csv

End Sub

Wenn Sie dieses Programm, diese Sub nun aufrufen, dann wird die Datei zwar geöffnet, aber alle Semikola, welche die Spalten trennen, werden ignoriert. Alle Zeilen stehen jeweils nur in einer einzigen Spalte.

Der Fehler ist leicht erklärt: Sie müssen der Programmzeile per Hand noch ein Argument, ein weiteren Parameter zufügen:

Workbooks.Open Filename:=“C:\CsvDatei.csv“, Local:=True

Mit dem zusätzlichen Parameter Local:=True weisen Sie Excel an, die landesspezifischen, die lokalen (also deutschen) Einstellungen zu beachten. Ansonsten wird automatisch das „csv“ wörtlich genommen, denn das steht für comma separated value. Und in der US-Version ist das Komma und nicht das Semikolon der Trenner in einer solchen Auflistung.

Hinweis: Bei dieser einzigen (relevanten) Code-Zeile verzichte ich auf die Möglichkeit des Imports.  🙂

▲ nach oben …

Dieser Beitrag wurde unter Code-Schnipsel, Daten-Import / -Export, Mit VBA/Makro abgelegt und mit , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.