Excel usando referência para nomes de planilhas

Excel usando referência para nomes de planilhas

Procurei em volta para tentar resolver isso, mas não estou familiarizado com a codificação.

Aqui está minha linha de código,

='[WorkBook]BOM'!G6

O que eu quero fazer é fazer a chamada da pasta de trabalho para uma célula para que eu possa substituir em massa todos os nomes da 'pasta de trabalho' sem localizar e substituir.

Essencialmente, algo assim (embora este código não funcione, é apenas para referência)

='[=E1]BOM'!G6

Então, na célula E1, eu poderia inserir qualquer texto que quisesse, para substituir o nome das pastas de trabalho. Estou tentando encontrar a fórmula para fazer isso.

Responder1

Você deve usar a INDIRECT()função para avaliar uma string de texto como uma função.

=INDIRECT("'["& E1 & "]BOM'!G6")

Observe que a INDIRECT()função só retornará o valor se a pasta de trabalho referenciada estiver aberta. Caso contrário, retornará um #REF!erro.

Responder2

INDIRECTnão funcionará com pastas de trabalho externas fechadas. Sua melhor aposta na automação parece ser colocar o caminho da pasta de trabalho em uma célula e escrever uma macro que localizará/substituirá todas as ocorrências do nome da pasta de trabalho antigo e substituirá pelo novo nome da pasta de trabalho.

Responder3

Minha solução permitiria fazer referência a um intervalo, somente se você os nomeasse primeiro.

Por exemplo, você nomeia o intervalo A1:A100 como MyRange na pasta de trabalho 1

Então, em sua pasta de trabalho atual, você pode inserir "MyRange" em E1 na pasta de trabalho 2

então use INDIRETO(E1)

informação relacionada