Suchen Sie in der Spalte aufgelistete Zeichenfolgen in Dateien und markieren Sie in der jeweiligen Dateinamenspalte „Ja“ oder „Nein“.

Suchen Sie in der Spalte aufgelistete Zeichenfolgen in Dateien und markieren Sie in der jeweiligen Dateinamenspalte „Ja“ oder „Nein“.

Ich habe Zeichenfolgen in Spalte „A“ aufgelistet und Dateinamen sind in Spaltenüberschriften aufgelistet. Ich möchte herausfinden, ob die Zeichenfolge in Spalte „A“ in einer Datei vorhanden ist oder nicht und das Ergebnis in eine Dateinamenspalte einfügen. Ich hoffe, dass dies mit VBA möglich ist.

Ich habe versucht, die Formel „vlookup“ zu verwenden (beim Hinzufügen von Daten zum Blatt), aber die Berechnung ist zeitaufwändig und da jede Datei 22.000 Zeilen hat und bei nur 100 Dateien alle Zeilen 22.000 Zeilen ergeben, ist jede Zeile 22.000 Zeilen lang. Für jede Hilfe bin ich dankbar.

Tisch

Zusätzliche Information

Antwort1

Ich habe eine Antwort darauf bekommen.Website. Es funktioniert wie erwartet.

Sub Demo_StringSearch_txt()
Dim fPath As String: fPath = "C:\test\search\"
Dim strContent As String
Dim intFF As Integer: intFF = FreeFile()
Dim myArr
Dim i As Long, j As Long
myArr = Range("A1", Cells(Cells(Rows.count, 1).End(xlUp).Row, Cells(1, Columns.count).End(xlToLeft).Column)).Value

For i = 2 To UBound(myArr, 2)
    Open fPath & myArr(1, i) For Input As #intFF
    strContent = Input(LOF(intFF), intFF)
    Close #intFF
    For j = 2 To UBound(myArr)
        If InStr(strContent, myArr(j, 1)) > 0 Then
            myArr(j, i) = "Yes"
        End If
    Next
Next

Range("A1").Resize(UBound(myArr), UBound(myArr, 2)) = myArr


End Sub

verwandte Informationen