Hallo zusammen,
ich arbeite noch nicht sehr lange mit VBA und habe folgendes Problem: Ich habe in einem Ordner <400 .dat-Dateien, die ich gerne automatisch in Excel einlesen möchte. Am besten so, dass alle Werte untereinander stehen.
Leider bestehen die .dat-Dateien aus mehreren Zeilen (wobei ich nur die erste Zeile bräuchte) und sind nicht eindeutig in Spalten getrennt, so dass ich mir hierzu bereits vorab ein Makro aufgezeichnet hab, welches beim Textkonvertierungsassistent beschreibt was ich brauche (feste Breite setzen etc.).
Da eben alle Dateien aus dem Ordner eingelesen werden müssen, habe ich eine Schleife gesetzt. Aber irgendwie gibt es mir glaub immer den Wert der ersten Datei wieder. Zwar genauso oft wie ich auch Dateien habe, aber da sollten schon die Werte der einzelnen Dateien stehen. Da ich neu bin, weiß ich hier nicht mehr weiter.
Sub DatenEinlesenNEU()
Dim strDatei As String
Tabelle1.Rows.Clear
Zeile = 1
pfad = "C:\Desktop\Ordner\"
strDatei = Dir(pfad & "*.dat")
Do While strDatei <> ""
Workbooks.OpenText Filename:="C:\Desktop\Ordner\*.DAT", _
Origin:=xlMSDOS, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array( _
Array(0, 9), Array(18, 1), Array(25, 9)), DecimalSeparator:=".", _
ThousandsSeparator:=",", TrailingMinusNumbers:=True
Set Quelle = ActiveWorkbook
Quelle.Worksheets(1).UsedRange.Copy Destination:=Tabelle1.Cells(Zeile, 1)
Quelle.Close savechanges:=False
strDatei = Dir
Zeile = Tabelle1.UsedRange.Rows.Count + 1
Loop
End Sub
Wäre super, wenn hier jemand weiterhelfen könnte ;)
|