Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Text durchsuchen

VBA Text durchsuchen
08.12.2016 21:33:08
Oliver
Hallo liebe Forumsmitglieder,
ich habe wieder mal ein Problem mit dem ich nicht weiter komme. Ich benutze ein VBA-Skript aus dem Forum um Textdateien in einem Verzeichnis nach Begriffen zu durchsuchen. Die Begriffe passe ich entsprechend an. Das funktioniert auch sehr gut.
Der gesuchte Begriff wird mit dem Dateinamen und der gesamten Zeile in eine Exceltabelle ausgegeben.
Bei bestimmten Begriffen muss nicht nur die Zeile in der sich der Begriff befindet, sondern auch die immer darauffolgende Zeile in der Tabelle in Spalte 3 ausgegeben werden.
Das bekomme ich irgendwie nicht hin. Vielleicht kann ja einer von euch helfen.
Sub findWordinTXT()
Dim sWord As String, sPath As String, sSearchPath As String, FileName As String, InputData
Dim AnzFound As Integer
AnzFound = 0
'Wort nach dem gesucht werden soll
sWord = "Desoxyribonukleinsäuremethylester"
'Suche nach allen Textdateien im Verzeichnis c:\temp\xl
sSearchPath = "c:\temp\xl\*.txt"
sPath = "c:\temp\xl\"
FileName = Dir(sSearchPath)
If FileName  "" Then
Do While FileName  ""
Open sPath & FileName For Input As #1
Do While Not EOF(1)
Line Input #1, InputData
If InStr(1, InputData, sWord) > 0 Then
'Zeile mit Suchwort gefunden
AnzFound = AnzFound + 1
Sheets("Recherche").Cells(AnzFound, 1) = FileName
Sheets("Recherche").Cells(AnzFound, 2) = InputData
End If
Loop
Close #1
'nächste Datei
FileName = Dir
Loop
End If
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Text durchsuchen
08.12.2016 22:27:51
Luschi
Hallo Oliver,
bei mir würde das so aussehen:

Sub findWordinTXT()
Dim sWord As String, sPath As String, sSearchPath As String, FileName As String, InputData
Dim AnzFound As Integer, JaNein As Boolean, ff As Integer
AnzFound = 0
'Wort nach dem gesucht werden soll
sWord = "Desoxyribonukleinsäuremethylester"
'oder False falls nächste Zeile uninteressant
JaNein = True
'Suche nach allen Textdateien im Verzeichnis c:\temp\xl
sSearchPath = "c:\temp\xl\*.txt"
sPath = "c:\temp\xl\"
FileName = Dir(sSearchPath)
If FileName  "" Then
Do While FileName  ""
ff = FreeFile
Open sPath & FileName For Input As #ff
Do While Not EOF(1)
Line Input #ff, InputData
If InStr(1, InputData, sWord, vbTextCompare) > 0 Then
'Zeile mit Suchwort gefunden
AnzFound = AnzFound + 1
Sheets("Recherche").Cells(AnzFound, 1) = FileName
Sheets("Recherche").Cells(AnzFound, 2) = InputData
If JaNein Then
'nächste Zeile einlesen
Line Input #ff, InputData
Sheets("Recherche").Cells(AnzFound, 3) = InputData
End If
End If
Loop
Close #ff
'nächste Datei
FileName = Dir
Loop
End If
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: VBA Text durchsuchen
08.12.2016 23:27:09
Fennek
Hallo,
falls Windows genutzt wird: in den alten DOS (cmd.exe) Befehlen gibt es "Find", das alle txt-Dateien eines Ordner nah einem Schlüsselwort durchsucht und die Zeilen der Treffer auflistet:

find /N "Dexo" > c:\temp\Liste.txt
Diese "Liste.txt" kann dann mit xl geöffnet werden.
mfg
Anzeige
AW: VBA Text durchsuchen
09.12.2016 10:22:24
Oliver
Vielen Dank an Luschi aus klein-Paris.
Das hat mir sehr weitergeholfen.
Gruß
Olli
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige