Usando links dinâmicos para pastas de trabalho externas no Excel

0

Eu tenho uma pasta de trabalho mestre que precisa extrair dados de uma subpasta específica datada. A data é especificada pelo usuário antes das macros serem executadas.

A pasta de trabalho principal atua apenas como uma camada de apresentação e os dados de origem / subjacentes nas subpastas datadas têm nomes e formatos consistentes.

Suponha que na minha pasta de trabalho mestre em 'Folha1' eu tenha a seguinte função em A1 :

='C:\Development\GridsResults101115\[DATA_sheet_20101115_D.xlsx]Stresses'!$C$9

Você notará que há duas partes "datadas" no link do arquivo - isso precisa ser fornecido pelo usuário. Nesse caso, a data fornecida é 15-Nov-2010 . Agora, se o usuário fornecer 23-Nov-2010 , o link acima deve ser

='C:\Development\GridsResults101120\[DATA_sheet_20101120_D.xlsx]Stresses'!$C$9

Já tenho fórmulas que criam os caminhos de arquivos acima, dentro da minha Links planilha na pasta de trabalho principal. Esta é a parte dinâmica que cria os links. Agora na folha Links , assuma que o resultado da minha mágica reside na célula B3 e é um intervalo nomeado chamado DATA , ou seja,

C:\Development\GridsResults101120\[DATA_sheet_20101120_D.xlsx]

Portanto, em teoria, qual deveria ser o resultado, é que a célula A1 on Sheet1 na minha pasta de trabalho mestre deve usar esse caminho de arquivo gerado

="'" & DATA & "Stresses'!$C$9

Existe uma combinação de funções padrão do Excel que podem alcançar isso?

    
por Ahmad 24.11.2010 / 07:51

3 respostas

0

Use =INDIRECT("'" & DATA & "Stresses'!$C$9") .

    
por 28.11.2010 / 23:46
0

Eu não acredito que isso seja possível usando as funções padrão do Excel. se for, definitivamente não pareceria bonito.

Acho que sua melhor aposta seria criar uma macro; o método de ativação dependeria de você, é claro. A macro seria algo como isto.

Dim L1 As Variant, L2 As Variant
L1 = ThisWorkbook.Names("DATA").RefersToRange
L2 = "='" & L1 & "Stresses'!R9C3"
Sheets("Sheet1").Range("A1").FormulaR1C1 = L2
    
por 24.11.2010 / 15:45
0

link

O link acima pode ser uma boa opção. Não tive tempo para testá-lo sozinho.

    
por 28.03.2014 / 12:41