Eu criei uma UDF do Excel para encontrar a n ª ocorrência de um valor em um intervalo. O UDF é baseado no link :
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
No entanto, estou com um problema com o intervalo. Eu estou tentando usar INDIRECT () para se referir a um intervalo em outra pasta de trabalho. A fórmula que tenho agora é
=Nth_Occurrence(INDIRECT("'["&$L$1&"]1'!$A$2:$A$10"),C1,1,1,1)
Em outras palavras, estou procurando um intervalo em uma pasta de trabalho, cujo nome está armazenado em L1, e o nome da planilha nessa pasta de trabalho é 1. Usei essa fórmula com êxito sem o INDIRECT ( ), mas quando tento usar INDIRECT (), recebo um erro #VALUE. Poderia ser um problema com o VBA ou uma limitação geral com UDFs? Obrigado.