1

Я создал UDF Excel, чтобы найти n- ное вхождение значения в диапазон. UDF основан на сайте http://www.ozgrid.com/Excel/find-nth.htm:

Function Nth_Occurrence(range_look As Range, find_it As String, _

    occurrence As Long, offset_row As Long, offset_col As Long)

Dim lCount As Long

Dim rFound As Range

    Set rFound = range_look.Cells(1, 1)

        For lCount = 1 To occurrence

            Set rFound = range_look.Find(find_it, rFound, xlValues, xlWhole)

        Next lCount

   Nth_Occurrence = rFound.Offset(offset_row, offset_col)

End Function

Однако я столкнулся с проблемой с диапазоном. Я пытаюсь использовать INDIRECT() для ссылки на диапазон в другой книге. Формула у меня есть сейчас

 =Nth_Occurrence(INDIRECT("'["&$L$1&"]1'!$A$2:$A$10"),C1,1,1,1)

Другими словами, я ищу диапазон в рабочей книге, имя которого хранится в L1, а имя рабочей таблицы в этой рабочей книге - 1. Я успешно использовал эту формулу без INDIRECT(), но когда я пытаюсь использовать INDIRECT(), я получаю ошибку #VALUE. Может ли это быть проблемой с VBA или общим ограничением с UDF? Благодарю.

0