Найдите строки, перечисленные в столбце в файлах, и отметьте «Да» или «Нет» в соответствующем столбце имени файла.

Найдите строки, перечисленные в столбце в файлах, и отметьте «Да» или «Нет» в соответствующем столбце имени файла.

У меня есть строки, перечисленные в столбце "A", а имена файлов перечислены в заголовках столбцов. Я хочу узнать, существует ли строка в столбце "A" в файле или нет, и добавить результат в столбец имени файла. Я надеюсь, что это возможно с помощью vba.

Я пробовал использовать формулу "vlookup" (при добавлении данных в таблицу), но это требует много времени для расчета, и поскольку каждый файл содержит 22 тыс. строк, а для всего 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

Связанный контент