Existe uma maneira de referenciar um arquivo excel externo dependendo do valor de uma célula?

1

Estou tentando criar um modelo para um documento que será atualizado toda semana e fiquei me perguntando se havia uma maneira de inserir alguns valores automaticamente, dependendo do valor de uma célula.

Para explicar, cada arquivo será nomeado dd-mmm-aa, e eu quero referenciar o que estava no arquivo da semana passada e o arquivo de duas semanas atrás (para rapidamente rastrear padrões e tal). A maioria desses valores é texto, se isso faz diferença.

O arquivo de cada semana será salvo na mesma pasta.

    
por Maddi 09.02.2015 / 00:36

2 respostas

1

Existe uma maneira fácil, mas só funciona se as outras pastas de trabalho que você pretende referenciar estiverem todas abertas ao mesmo tempo. Isso é realizado usando a função INDIRECT .

link

No entanto, se as outras pastas de trabalho forem fechadas (ou poderão ser fechadas), isso será realmente complicado. Você tem que começar a mexer no VBA, algo que você pode ou não querer fazer. Algumas boas informações sobre o assunto com exemplos:

link

    
por 09.02.2015 / 01:49
0

Você poderia tentar uma abordagem completamente alternativa.

Sempre que você criar uma nova planilha, use dd-mmm-yy.xlsx para atualizar os links físicos week-0.xlsx , week-1.xlsx e week-2.xlsx (e quantos mais forem necessários) nas semanas anteriores.

Então, a planilha da semana passada é sempre week-1.xlsx e a da semana anterior, week-2.xlsx .

Quando você cria uma nova planilha, simplesmente passa seu nome para um arquivo em lote contendo: -

del week-2.xlsx
ren week-1.xlsx week-2.xlsx
ren week-0.xlsx week-1.xlsx
mklink /h week-0.xlsx "%1"

Se você precisar lidar com muito mais do que duas planilhas das semanas anteriores, poderá usar facilmente um loop para renomear os links. Ao renomear os links e usar week-0.xlsx como a semana atual, o arquivo em lote não precisa funcionar ou lidar com os nomes das datas das planilhas anteriores.

    
por 09.02.2015 / 03:18