Как насчет этого?
Sub Sample()
Const SEARCH_STRING As String = "SearchThis"
Dim filename As String
filename = "C:\Users\Default\Desktop\test.csv"
Dim file As Integer
file = FreeFile
Open filename For Input As #file
Dim rowNumber As Long
rowNumber = 0
Dim match As String
Do Until EOF(file)
rowNumber = rowNumber + 1
Dim line As String
Line Input #file, line
If InStr(line, SEARCH_STRING) > 0 Then
match = line
Exit Do
End If
Loop
Close #file
If match <> vbNullString Then
MsgBox "Found '" & SEARCH_STRING & "' in line #" & rowNumber & ": " & match, vbInformation, "Result"
Else
MsgBox "Did not find '" & SEARCH_STRING & "'", vbInformation, "Result"
End If
End Sub
Пояснение:
В верхней части процедуры я определил константу SEARCH_STRING
со строкой, которую вы можете искать в файле.
Затем в цикле Do Until
If InStr(line, SEARCH_STRING) > 0
проверяет, содержит ли строка чтения искомую строку.
Instr
возвращает позицию подстроки в строке. Если он не найден, возвращается 0.
Если строка была найдена, она сохраняется в строковой переменной match
и цикл завершается Exit Do
Впоследствии match
будет проверено, если оно содержит значение, и относительно этого некоторая информация будет опубликована в окне сообщения.