Excel usando referência para nomes de planilha [duplicado]

0

Eu olhei 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 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 eu quisesse, para substituir o nome da pasta de trabalho. Estou tentando encontrar a fórmula para fazer isso.

    
por Paul 05.12.2013 / 22:17

3 respostas

0

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

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

Observe que a função INDIRECT() retornará o valor apenas se a pasta de trabalho indicada estiver aberta. Caso contrário, ele retornará um #REF! -error.

    
por 05.12.2013 / 22:46
0

INDIRECT nã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 gravar uma macro que localizará / substituirá todas as ocorrências do nome antigo da pasta de trabalho e substituirá pelo novo nome da pasta de trabalho.

    
por 05.12.2013 / 23:18
0

Minha solução permitiria que você fizesse referência a um intervalo apenas se os nomeasse primeiro.

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

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

use INDIRETO (E1)

    
por 06.12.2013 / 10:26