열에 나열된 문자열을 파일로 찾고 해당 파일 이름 열에 예 또는 아니요를 표시합니다.

열에 나열된 문자열을 파일로 찾고 해당 파일 이름 열에 예 또는 아니요를 표시합니다.

"A" 열에 문자열이 나열되어 있고 파일 이름이 열 머리글에 나열되어 있습니다. "A" 열의 문자열이 파일에 존재하는지 여부를 확인하고 결과를 파일 이름 열에 추가하고 싶습니다. vba를 사용하여 가능하기를 바랍니다.

"vlookup"(시트에 데이터를 추가할 때) 공식을 사용해 보았지만 시간이 많이 걸리는 계산이며 각 파일에는 22K 줄이 있고 100개 파일의 경우 모든 행은 22 lakh 줄로 계산됩니다. 도움을 주시면 감사하겠습니다.

테이블

추가 정보

답변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

관련 정보