Bestimmte Daten aus mehreren Txt-Dateien auslesen und in excel sortiert in spalten einfügen
Hallo zusammen,
leider habe ich keine Ahnung von VBA. Habe dennoch schon einige Foren durchsucht und leider keinen Erfolg gehabt.
Ich habe einen Ordner, mit vielen Txt. dateien. Deren Name ist bis auf eine fortlaufende Nummer gleich (z.B. 6442_Aktuatorring_1050_chr, 6442_Aktuatorring_1051_chr, usw).
Ich muss jetzt aus einem txt-File, dass so aussieht:
1 Zeile: planid partnb id type idsymbol actual nominal uppertol lowertol deviation exceed warningLimitCF featureid featuresigma comment link linkmode mmc useruppertol userlowertol fftphi fftphiunit zoneroundnessangle groupname groupname2 datumAid datumBid datumCid natuppertolid natlowertolid decimalplaces featurePosX featurePosY featurePosZ group1 group2 group3 group4 group5 group6 group7 group8 group9 group10
2 Zeile: 6442_Aktuatorring 1050 Ebenheit_A Ebenheit gdtFlat 0.0094793 0.0000000 0.0150000 0.0000000 0.0094793 100.0000000 Ebene_Fläche A 0.0029168 0.0150000 0.0000000 1 2 3 0.0009834 0.0000505 0.0006011
3 Zeile: END
die zweite Zeile auslesen. Hierbei soll jeder Parameter in eine separate Spalte in der Exceldatei eingelesen werden. Für jedes txt-File möchte ich eine neue Zeile verwenden.
Könnt Ihr mir weiterhelfen?
Ich wäre euch sehr dankbar.
Schöne Grüße,
Stefan
leider habe ich keine Ahnung von VBA. Habe dennoch schon einige Foren durchsucht und leider keinen Erfolg gehabt.
Ich habe einen Ordner, mit vielen Txt. dateien. Deren Name ist bis auf eine fortlaufende Nummer gleich (z.B. 6442_Aktuatorring_1050_chr, 6442_Aktuatorring_1051_chr, usw).
Ich muss jetzt aus einem txt-File, dass so aussieht:
1 Zeile: planid partnb id type idsymbol actual nominal uppertol lowertol deviation exceed warningLimitCF featureid featuresigma comment link linkmode mmc useruppertol userlowertol fftphi fftphiunit zoneroundnessangle groupname groupname2 datumAid datumBid datumCid natuppertolid natlowertolid decimalplaces featurePosX featurePosY featurePosZ group1 group2 group3 group4 group5 group6 group7 group8 group9 group10
2 Zeile: 6442_Aktuatorring 1050 Ebenheit_A Ebenheit gdtFlat 0.0094793 0.0000000 0.0150000 0.0000000 0.0094793 100.0000000 Ebene_Fläche A 0.0029168 0.0150000 0.0000000 1 2 3 0.0009834 0.0000505 0.0006011
3 Zeile: END
die zweite Zeile auslesen. Hierbei soll jeder Parameter in eine separate Spalte in der Exceldatei eingelesen werden. Für jedes txt-File möchte ich eine neue Zeile verwenden.
Könnt Ihr mir weiterhelfen?
Ich wäre euch sehr dankbar.
Schöne Grüße,
Stefan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 282201
Url: https://administrator.de/forum/bestimmte-daten-aus-mehreren-txt-dateien-auslesen-und-in-excel-sortiert-in-spalten-einfuegen-282201.html
Ausgedruckt am: 14.05.2025 um 03:05 Uhr
14 Kommentare
Neuester Kommentar

Da reicht ein Powershell-Einzeiler, für das Gedöns
Wenn's unbedingt VBA sein muss, das haben wir auch auf Lager:
Gruß jodel32
gci 'c:\ordner\*.txt' | %{((gc $_.Fullname)[1] -split ' ') -join ';' | add-content 'c:\zusammenfassung.csv'}
Sub ImportTextfiles()
Dim fd As FileDialog, fso As Object, rngCurrent As Range, line1 As String, file As Variant, arrCols As Variant
' Objekte erzeugen
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Set fso = CreateObject("Scripting.FileSystemObject")
'nächste freie Zeile ermitteln
Set rngCurrent = Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
With fd
' erlaube eine Mehrfachauswahl
.AllowMultiSelect = True
' wurde der Dialog mit OK verlassen
If .Show = -1 Then
' Für jede ausgewählte Datei ...
For Each file In .SelectedItems
arrCols = Split(Split(fso.OpenTextFile(file, 1).ReadAll(), vbNewLine)(1), " ")
rngCurrent.Resize(1, UBound(arrCols)).Value = arrCols
' Verschiebe die aktuelle Zeile 1 weiter nach unten
Set rngCurrent = rngCurrent.Offset(1, 0)
Next
End If
End With
Set fso = Nothing
Set fd = Nothing
End Sub

Zitat von @VBANeuling2015:
Kannst du mir noch sagen, wie ich die Daten aus der txt Datei in die einzelen Spalten in excel eintragen kann?
Hä??? Das macht das Skript doch schon ....Kannst du mir noch sagen, wie ich die Daten aus der txt Datei in die einzelen Spalten in excel eintragen kann?

Dann sind deine Spalten nicht mit einem Leerzeichen voneinander getrennt ! Davon bin ich ausgegangen weil du deinen Text nicht mit Code-Tags gepostet hast!
Du musst schon deinen Text mit Code-Tags für deinen Quellcode:
In Zeile 15 lässt sich das anpassen.
Du musst schon deinen Text mit Code-Tags für deinen Quellcode:
<code> Quellcode </code>
posten ....In Zeile 15 lässt sich das anpassen.

Wenn deine Spalten mit Tabs voneinander getrennt sind muss Zeile 15 so lauten
arrCols = Split(Split(fso.OpenTextFile(file, 1).ReadAll(), vbNewLine)(1), vbTab)

Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Danke.