Daten aus Excel mit VBA auslesen und bestimmte Wörter ausschließen
Hallo zusammen,
bin neu im Forum und würde gerne folgendes Umsetzen. Ich möchte aus vielen Textdateien etwas bestimmtest auslesen. Das sammeln der Zeile aus den Textdateien habe ich mit folgendem VBA ermöglicht.
Nun wird allerdings der Wert der ganzen Zeile ausgegeben: Wagenzuglast:480 t Wagenzuglänge:400 m Gesamtzuglänge:417 m, Mbr 67 R/P den Fettgedruckten Bereich würde ich gerne rausfiltern. Wie mache ich das?
bin neu im Forum und würde gerne folgendes Umsetzen. Ich möchte aus vielen Textdateien etwas bestimmtest auslesen. Das sammeln der Zeile aus den Textdateien habe ich mit folgendem VBA ermöglicht.
Sub Sammeln()
Ordner = "P:\Fahrpläne 2018"
Dateityp = LCase("txt")
Felder = Array("Wagenzuglast:")
MaxFeldIndex = UBound(Felder)
Dim FeldL() As Integer
ReDim FeldL(MaxFeldIndex)
For i = 0 To MaxFeldIndex
FeldL(i) = Len(Felder(i))
Next
Zeile = 2
Rows(CStr(Zeile) & ":65536").ClearContents
Set fso = CreateObject("Scripting.FileSystemObject")
For Each Datei In fso.GetFolder(Ordner).Files
If LCase(fso.GetExtensionname(Datei.Name)) = Dateityp Then
Daten = Datei.OpenAsTextStream.ReadAll
Cells(Zeile, 1) = fso.GetBaseName(Datei.Name)
For i = 0 To MaxFeldIndex
Pos = InStr(Daten, Felder(i))
If Pos > 0 Then
Wert = Trim(Split(Mid(Daten, Pos + FeldL(i)), vbCrLf)(0))
Cells(Zeile, i + 2).Value = Wert
End If
Next
Zeile = Zeile + 1
End If
Next
End Sub
Nun wird allerdings der Wert der ganzen Zeile ausgegeben: Wagenzuglast:480 t Wagenzuglänge:400 m Gesamtzuglänge:417 m, Mbr 67 R/P den Fettgedruckten Bereich würde ich gerne rausfiltern. Wie mache ich das?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 479036
Url: https://administrator.de/forum/daten-aus-excel-mit-vba-auslesen-und-bestimmte-woerter-ausschliessen-479036.html
Ausgedruckt am: 13.05.2025 um 17:05 Uhr
6 Kommentare
Neuester Kommentar

Und wenn's egal sein soll wo der Wert steht, bietet sich natürlich immer auch Regex an
"Wagenzuglast:([^:]+) "
Moin,
zuverlässig geht das nur mittels Regex:
Pattern:
HowTo: https://www.vba-tutorial.de/applikation/regexp.htm
zuverlässig geht das nur mittels Regex:
Pattern:
(Wagenzuglast:\d+\s*t)
HowTo: https://www.vba-tutorial.de/applikation/regexp.htm