Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1552to1556
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

2 bestimmte zeilen einer txt auslesen + import

2 bestimmte zeilen einer txt auslesen + import
20.04.2017 15:16:33
Michael
hallo!
ich habe mehrere txt dateien in einem ordner c:\temp\test
die dateien schauen inhaltlich so aus:
A|1
C|105
S|12
P|12
L|CA
F|0400
D|L02|1|10||10|4|1
D|L02|1|10||10|6|1
N|
Z|72
X|13
ich brauche die werte hinter F| (also 0400) und X| (also 13), diese werte in einer excel datei untereinander, je nach dem, wieviel dateien grad im ordner sind.
das | ist ein trennzeichen, die D-zeilen können allerdings variabel sein. eine datei kann 2 D-zeilen enthalten, eine andere nur 1 oder 5.
ich habe varianten probiert, aber die lesen immer nur die ganze datei aus und bei einer variablen zeilenanzahl hilft mir das nicht wirklich.
kann mir da jemand bitte helfen?
besten dank im voraus für die bemühungen!
mike

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 bestimmte zeilen einer txt auslesen + import
20.04.2017 16:06:51
Matthias
Hallo! Wenn alles ausgelesen wird, ist das doch super. Den ausgelesenen Text in einer Variablen speichern. Dann den Text (also die Variable) nach dem Zeilenumbruch vbcrlf splitten. Dann hast du alle Zeilen. Dann eine Schleife über die Zeilen (also das durch split entstandene Array) und dort nach dem ersten Zeichen schauen. Bei F und X dann auf den Zeilenwert nochmal splitten mit | und das zweite Element (index 1 achtung) ist der Wert. VG
AW: 2 bestimmte zeilen einer txt auslesen + import
21.04.2017 08:34:11
JoWE
Hallo Mike,
vllt. so?
Sub lesen_txtFiles()
Dim Dateiname As String, i As Integer
Dateiname = Dir$("C:\temp\test\*.txt")
Do While Dateiname  ""
Call hole_Daten_aus_Textdatei(Dateiname)
Dateiname = Dir$
Loop
End Sub
Sub hole_Daten_aus_Textdatei(fName As String)
Dim ze As Long, sText As String
ze = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1
Open "C:\temp\test\" & fName For Input As #1
Do While Not EOF(1)
Line Input #1, sText
If InStr(1, sText, "F|") Or InStr(1, sText, "X|") Then
Sheets("Tabelle1").Cells(ze, 1).Value = Mid(sText, InStr(1, sText, "|") + 1)
ze = ze + 1
End If
Loop
Close #1
End Sub

Gruß Jochen
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige