在文件中查找列中列出的字符串,并在相应的文件名列中标记是或否

在文件中查找列中列出的字符串,并在相应的文件名列中标记是或否

我在“A”列中列出了字符串,在列标题中列出了文件名。我想查找“A”列中的字符串是否存在于文件中,并将结果添加到文件名列中。我希望可以使用 vba 来实现。

我尝试使用公式“vlookup”(将数据添加到工作表中时),但计算起来很耗时,因为每个文件有 22K 行,而对于 100 个文件,所有行总计为 22 万行。如能得到任何帮助,我们将不胜感激。

桌子

附加信息

答案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

相关内容