Usando o VLOOKUP em planilhas sem fazer referência à planilha original

0

Eu tenho uma pasta de trabalho que executa algumas macros para extrair cópias de folhas de várias outras pastas de trabalho. Eu estou tentando configurar um arquivo que os usuários podem copiar para suas pastas de projeto e, em seguida, basta usar sem precisar configurar VLOOKUP fórmulas todas as vezes. Portanto, eles copiam o arquivo NewProject.xlsm do servidor para a pasta do projeto e, em seguida, usam as macros para extrair as diferentes folhas de que precisam, das pastas de trabalho da série 100, 110 ou 120 que estão no servidor.

A pasta de trabalho da série 100 tem uma planilha chamada ItemsE nela e tem VLOOKUP em duas colunas e validação de dados em outra. Quando os usuários puxam a planilha 100_1A para o arquivo de projeto, ela puxa o VLOOKUP , mas faz referência ao arquivo original.

O arquivo NewProject também possui a folha ItemsE com todas as mesmas informações. A minha pergunta é: posso usar a fórmula VLOOKUP na pasta de trabalho da série 100 nas folhas 100_1A e 100_1C e fazer referência à folha ItemsE no arquivo NewProject em vez do arquivo da série 100? Eu originalmente coloquei a seguinte fórmula no arquivo da série 100.

=VLOOKUP(D24,ItemsE!A:C,2,FALSE)

Quando abro o arquivo NewProject depois de importar as 100 folhas da série que preciso para ele, a fórmula diz:

=VLOOKUP(D22,'W:\Design\[C_DE100Series.xlsm]ItemsE'!A:C,2,FALSE)

Existe uma maneira de corrigir isso? Funcionaria também na validação de dados?

Obrigado pela ajuda e desculpe pela longa explicação. Se você precisar de mais informações, me avise.

    
por deathstar008 27.01.2017 / 19:46

1 resposta

0

Você pode definir um nome comum para o ItemsE nas fórmulas da planilha.

Por exemplo, faça o nome se referir a "lugar" Quando você arrastar uma planilha para a pasta de trabalho de recepção, o nome definido para a pasta de trabalho de recepção, no entanto, não será usado e "local" ainda se referirá à definição de nome da pasta de trabalho de envio.

Você pode ter uma macro que exclua o local antigo dessa folha ativa que acaba de ser arrastada para a pasta de trabalho de recebimento.

ActiveWorkbook.Names("place").Delete

Quando isso acontecer, o nome já definido na pasta de trabalho será usado.

    
por 30.01.2017 / 20:50