Notifications
Clear all

Fórmula ignorando mudança no nome de Aba de outro arquivo

5 Posts
2 Usuários
0 Reactions
789 Visualizações
carlosrgs
(@carlosrgs)
Posts: 631
Prominent Member
Topic starter
 

Boa tarde a todos.

Tenho um arquivo que lista as requisições de peças no Almoxarifado e de um mês para outro surgem novos produtos que preciso inserir a descrição no relatório.
Mas eu não fico atualizando de um em um, eu gero um arquivo (Em excel) com todo o cadastro de produtos do sistema e na minha planilha faço um Procv amarrando este outro arquivo aberto.
Claro que depois transformo em valores para não ficar dependendo deste arquivo de todos os cadastros.

A Fórmula é
=SE(A1="";"";SEERRO(PROCV(A1;'[SB1.xlsx]01-40 - SC062130.XML'!D$4:E$100003;2;FALSO);"S/ Cadastro S.B.1."))
Em termos de VBA fica:

    ActiveCell.FormulaR1C1 = _
        "=IF(RC[-1]="""","""",IFERROR(VLOOKUP(RC[-1],'[SB1.xlsx]01-40 - SC062130.XML'!R4C[-1]:R100003C,2,FALSE),""S/ Cadastro S.B.1.""))"

O problema é que o sistema nunca gera o nome da ABA igual ao anterior e quando eu executar a Macro para atualizar, vai da erro na fórmula por causa do nome da ABA "01-40 - SC062130.XML".
O Nome do arquivo sempre será SB1.

Existe uma maneira de fazer a fórmula sem vincular o nome da Aba (Sheets, planilha, etc) ?

Só ressaltando q tenho meu arquivo.
Gero o arquivo de cadastros do sistema com nome SB1
Com uma Macro eu abro o SB1 e insiro a fórmula, termino de atualizar e fecho o SB1 com a macro, portanto não da para utilizar outras ferramentas como gerenciador de nomes.

Obrigado!

_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.

 
Postado : 09/06/2017 9:56 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

carlosrgs,

Boa tarde!

Movi sua mensagem para o local adequado: VBA & Macros.

Quanto a sua necessidade, melhor anexa um arquivo compactado com .ZIP aqui para que todos possam ver, rodar e depurar. Assim fica mais fácil de ajudar.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/06/2017 11:56 am
carlosrgs
(@carlosrgs)
Posts: 631
Prominent Member
Topic starter
 

Boa tarde Wagner

O problema não está em execução de Macro.

Está na fórmula.

Tenho um arquivo gerado com nome SB1 somente com uma Aba, cujo nome da Aba nunca é o mesmo.

Eu gostaria de saber se tem como fazer a fórmula sem que essas alterações no nome da Aba interfira.

A Macro só entra porque digitei a fórmula no VBA.

_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.

 
Postado : 09/06/2017 12:08 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

carlosrgs,

Não testei mas... veja se assim funciona.

ActiveCell.FormulaR1C1 = _
        "=IF(RC[-1]="""","""",IFERROR(VLOOKUP(RC[-1],'[SB1.xlsx]" & ActiveSheet & "'!R4C[-1]:R100003C,2,FALSE),""S/ Cadastro S.B.1.""))"

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/06/2017 12:49 pm
carlosrgs
(@carlosrgs)
Posts: 631
Prominent Member
Topic starter
 

Deu certo não.

Vou tentar outra coisa.

Function Nome_Planilha() As Variant
Application.Volatile
Nome_Planilha = ActiveCell.Parent.Name
End Function

Mas tenho que colocar compartilhado essa função pro arquivo SB1 já rodar ela.
Assim consigo identifica o nome da Aba!

_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.

 
Postado : 09/06/2017 1:27 pm