將列中列出的字串查找到文件中,並在對應的文件名列中標記“是”或“否”

將列中列出的字串查找到文件中,並在對應的文件名列中標記“是”或“否”

我在“A”列中列出了字串,文件名在列標題中列出。我想查找“A”列中的字串是否存在於文件中,並將結果新增至文件名列中。我希望可以使用vba。

我嘗試使用公式“vlookup”(將資料新增至工作表時),但計算非常耗時,並且由於每個文件有 22K 行,而對於 100 個文件,所有行數總計為 220 萬行。任何幫助將不勝感激。

桌子

附加資訊

答案1

我從中得到了答案地點。它按預期工作。

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

相關內容