Como obter o endereço retornado pela fórmula no Excel

0

Eu tenho uma planilha onde os dados mostrados são baseados em seleções de combobox. Os valores são calculados usando uma fórmula como esta:

INDEX(INDIRECT($Q61),SUMPRODUCT((INDIRECT($O$5)=$B$1)*(INDIRECT($O$6)=$B$2)*(INDIRECT($O$3)=$B$3)*(INDIRECT($O$7)=B$4)*ROW(INDIRECT($O$8)))-5),"")

Q61 é um intervalo em uma planilha diferente: 'Data'! $ AO $ 6: $ AO $ 104000 O SUMPRODUCT corresponde a outros quatro critérios com base nas seleções da caixa de combinação.

A fórmula deve calcular a linha no intervalo e retornar um valor. Existe uma maneira no VBA para determinar o endereço encontrado por essa fórmula. Deve ser algo como 'Data'! $ AO $ 90. Preciso pegar o endereço porque estou procurando o hiperlink nesse endereço.

A fórmula INDEX retorna corretamente o valor em 'Data'! $ AO $ 90. Quero colocar de volta o hiperlink.

Esta é uma imagem da folha. Cada valor é calculado usando uma fórmula INDEX como mostrado acima. Alguns valores devem ter hiperlinks. Eu tenho que pegar o endereço original em 'Data'! folha para colocá-los de volta com o VBA sempre que o usuário fizer uma nova seleção.

    
por user823527 22.04.2018 / 07:52

1 resposta

0

Do intervalo 'Data'!$AO$6:$AO$104000 , você obtém o valor em 'Data'!$AO$90 . É assim que as funções padrão index () fazem.

Como você só precisa do endereço 'Data'!$AO$90 , pode obtê-lo dividindo a função index () que você usa para obtê-lo. A idéia é .. desde index(<range>,<RowNumber>,<ColNumber>) , e para este caso vamos sentar o é 85. Então o "endereço" que você precisa é

= "'Data'!$AO$"&(<RowNumber>+5)

Tente, espero que ajude. (:

    
por 07.08.2018 / 22:24