Добро пожаловать в Stack Overflow, я вижу, что вы новичок, поэтому я решил показать другой способ решения этой проблемы.Вам нужно изучить типы данных и то, что возвращают функции, поэтому я думаю, что вместо использования вложенных функций и т. Д. Лучше начать с более простого кода, а затем сделать его более сложным, ускорив его выполнение и т. Д.в столбце A, поэтому вместо использования FIND
просто выполните цикл и сравните его с вашим lookup_value
.Убедитесь, что вы указали lookup_value
реальное значение внутри подпрограммы:
Sub Main()
Dim bValueFound As Boolean
Dim j As Integer
Dim n As Integer
Dim temp As Range
Dim WS As Worksheet
Dim file_dir As Workbook
Set file_dir = Workbooks.Open("PATH.xlsx")
Set WS = file_dir.ActiveSheet
n = WS.Cells(WS.Cells.Rows.Count, "A").End(xlUp).Row
Set temp = file_dir.ActiveSheet.Range("A1:A" & n)
For j = 1 To n
If WS.Cells(j, 1).Value = LOOKUP_VALUE Then
bValueFound = True
Exit For
End If
Next j
If bValueFound Then
MsgBox "The row is " & j
Else
MsgBox "Lookup value was not found"
End If
End Sub