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.
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