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

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

Eu tenho uma pasta de trabalho que executa algumas macros para obter cópias de planilhas de várias outras pastas de trabalho. Estou tentando configurar um arquivo que os usuários possam copiar para as pastas do projeto e depois usar sem precisar configurar VLOOKUPfórmulas todas as vezes. Então, eles copiam o arquivo NewProject.xlsm do servidor para a pasta do projeto e, em seguida, usam as macros para obter as diferentes planilhas necessárias, das pastas de trabalho da série 100, da série 110 ou da série 120 que estão no servidor.

A pasta de trabalho da série 100 possui uma planilha chamada ItemsE e possui VLOOKUPduas colunas e validação de dados em outra. Quando os usuários extraem a planilha 100_1A em seu arquivo de projeto, ele extrai o arquivo VLOOKUP, mas faz referência ao arquivo original.

O arquivo NewProject também contém a planilha ItemsE com todas as mesmas informações. Minha pergunta é: posso usar a VLOOKUPfórmula na pasta de trabalho da série 100 nas planilhas 100_1A e 100_1C e fazer referência à planilha ItemsE no arquivo NewProject em vez do arquivo da série 100? 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 planilhas de 100 séries necessárias para ele, a fórmula diz:

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

Existe uma maneira de corrigir isso? Também funcionaria na validação de dados?

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

Responder1

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

Por exemplo, faça com que o nome se refira a "local" Quando você arrasta uma planilha para a pasta de trabalho receptora, o nome definido para a pasta de trabalho receptora 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 exclui o local antigo na planilha ativa que acabou de ser arrastada para a pasta de trabalho receptora.

ActiveWorkbook.Names("place").Delete

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

informação relacionada