Öffnen von csv-Dateien per VBA
16.02.2005 13:06:14
csv-Dateien
Scheinbar ist es nicht so einfach, mit VBA csv-Dateien zu öffnen wie in Excel.
Weiter unten sind einige Zeilen. Hier werden alle csv-Dateien in einem Ordner durch Klicken auf eine beliebige geöffnet und danach in eine Tabelle einer einzigen Arbeitsmappe verschoben.
In der Do While....Loop-Schleife passieren dann noch andere Dinge.
Die csv-Dateien werden leider nur in eine Spalte verfrachtet (das ist das eigentliche Problem!!!!), weswegen ich dann noch 'Text in Spalten' anwenden muss. Merkwürdig.
Und ein weiteres Problem ist: In den importierten csv-Dateien sind Dezimalzahlen, die durch Kommata getrennt sind (also die Dezimalstellen). Jetzt kommt es natürlich ganz auf die Einstellungen drauf an, wie die Zahlen ankommen. Habe ich Punkt als Dezimaltrennung angegeben, dann tauchen nach dem Import Lücken auf, was nicht sein darf.
Gibt es für beides Lösungen?
DateiErweiterung = "*.csv"
Datei = Application.GetOpenFilename("csv-Dateien (" & DateiErweiterung & "), " & DateiErweiterung, Title:="Verzeichnisauswahl - erste Datei auswählen")
If Datei = False Then Exit Sub
DateiPfad = CurDir & "\"
If DateiPfad = "" Then Exit Sub
Else
ChDir DateiPfad
Set NeueMappe = Workbooks.Add
DateiName = Dir(DateiPfad & DateiErweiterung)
Do While Len(DateiName) > 0
Workbooks.Open Filename:=DateiPfad & DateiName
Sheets(1).Move After:=NeueMappe.Sheets(NeueMappe.Sheets.Count)
DateiName = Dir()
Loop
End If