Notifications
Clear all

Variável dentro de caminhos de rede

4 Posts
2 Usuários
0 Likes
463 Visualizações
(@edilsontononbr)
Posts: 2
New Member
Topic starter
 

Pessoal, como faço para que uma pasta de um caminho seja variável?

Por exemplo, tenho uma planilha de excel onde na célula A1 esta retornando o valor de uma célula de outra planilha externa, que esta em uma pasta da rede, embora esta planilha pode alterar de local conforme o valor de uma célula da planilha original. Desta forma o local da pasta deveria alterar conforme o valor da célula A2 (por exemplo) da planilha original.

Minha fórmula: 

='Q:\GROUPS\BR_SC_JGS_WBS_RTR\ARQUIVOS COMPARTILHADOS\SERVIÇOS DE CUSTOS\RTR_386_Executar_relatório_dos_estoques_por_centro_por_depósito_e_WIP\WMO\MARÇO\[_ESTOQUE-WMO 2023.xlsx]2023'!$R$345

 

Gostaria que a pasta MARÇO fosse uma variável conforme a célula A2.

 

Depois gostaria de aplicar como variável também a aba da planilha, conforme a célula A3.

 

Na minha cabeça deveria ser conforme a fórmula abaixo, embora não está funcionando.

='"Q:\GROUPS\BR_SC_JGS_WBS_RTR\ARQUIVOS COMPARTILHADOS\SERVIÇOS DE CUSTOS\RTR_386_Executar_relatório_dos_estoques_por_centro_por_depósito_e_WIP\WMO\" & A2 & "\[_ESTOQUE-WMO 2023.xlsx]" & A3 & "'!$R$345"

Agradeço antecipadamente pela ajuda dos senhores.

 
Postado : 13/04/2023 8:26 am
(@osvaldomp)
Posts: 852
Prominent Member
 

É possível com o uso da função INDIRETO(), no entanto essa função apresenta uma limitação, pois ela só funciona se o arquivo de origem dos dados estiver aberto também, se não, retornará erro.

Uma forma de contornar é atualizar automaticamente a fórmula via macro.

Osvaldo

 
Postado : 13/04/2023 12:24 pm
(@edilsontononbr)
Posts: 2
New Member
Topic starter
 

@osvaldomp ola, agradeço a informação, saberia escreve está macro? Obrigado!

 
Postado : 14/04/2023 12:48 pm
(@osvaldomp)
Posts: 852
Prominent Member
 

Cole uma cópia do código abaixo no módulo da planilha de interesse.

Para acessar o módulo clique com o direito na guia da planilha e escolha Exibir Código.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Address = "$A$1" Then Exit Sub
If Intersect(Target, Range("A2:A3")) Is Nothing Or Target.Value = "" Then Exit Sub
[A1] = "='Q:\GROUPS\BR_SC_JGS_WBS_RTR\ARQUIVOS COMPARTILHADOS\SERVIÇOS DE CUSTOS\RTR_386_Executar_relatório_dos_estoques_por_centro_por_depósito_e_WIP\WMO\" & [A2] & "\[_ESTOQUE-WMO 2023.xlsx]" & [A3] & "'!$R$345"
End Sub

funcionamento - o código irá atualizar a fórmula em A1 após a alteração manual em A2 ou em A3, diferentes de vazio.

Osvaldo

 
Postado : 14/04/2023 3:06 pm