Notifications
Clear all

Planilha mais "leve" - Formula matricial via VBA

8 Posts
2 Usuários
0 Reactions
1,301 Visualizações
(@deeco)
Posts: 4
New Member
Topic starter
 

Bom dia pessoal,

este é meu primeiro post no fóruns então desculpem se fizer algo errado.

Estou com um problema que não consigo encontrar uma solução mais simples então estou tentando resolver via macro.
Possuo uma coluna com formula matricial que procura um determinado número de pedido em uma outra aba e retorna com o código do item que possui mais peças faltantes.

Aba 1 - Retorna com o item mais faltante da aba 2.

{=SE(W3<1;"";PROCV(CONCATENAR(MAIOR(SE(Faltante!E:E=Base!G3;Faltante!T:T);1);" - ";G3);Faltante!A:L;12;0))}

Aba 2 - Apenas referencia o código para o procv acima, pois o mesmo pedido pode possuir vários itens faltantes

=T2&" - "&E2

Apesar de um pouco confusa a formula funciona perfeitamente, porem preciso aplicar a muitas linhas, no momento 1.500 linhas, o que faz o tempo de processo ser muito alto, principalmente por usar filtro que os usuários modificam constantemente e possuir varias colunas com outras formulas.

Teria alguma solução para este problema através de uma macro?
Ou até mesmo uma solução mais simples via formula na célula ?

Obrigado pela atenção :D

 
Postado : 05/07/2018 6:25 am
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Uma alternativa seria deixar em calculo manual e só dar um " F9" quando quiser atualizar.

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 05/07/2018 6:32 am
(@deeco)
Posts: 4
New Member
Topic starter
 

Uma alternativa seria deixar em calculo manual e só dar um " F9" quando quiser atualizar.

Olá, já tentei esta solução, porem quando aperto o F9 ela fica processando por muito tempo, gostaria de tentar eliminar este tempo, pois se eu eliminar esta coluna ou só eliminar a formula a planilha fica muito mais pratica e rápida.

 
Postado : 05/07/2018 6:37 am
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Então sugiro disponibilizar uma amostra do seu arquivo com uma demonstração do resultado pretendido.
O botão de anexar fica abaixo da janela de digitação.

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 05/07/2018 6:42 am
(@deeco)
Posts: 4
New Member
Topic starter
 

Deixei apenas os dados, formulas e colunas necessárias, veja se da para intender desta forma.

Obrigado.

 
Postado : 05/07/2018 7:33 am
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Na minha opinião não é o fato de a fórmula ser matricial que está causando a lentidão mas sim o fato de estar apontando para uma coluna inteira:

=SE(W3<1;"";PROCV(CONCATENAR(MAIOR(SE(Faltante!E:E=Base!G3;Faltante!T:T);1);" - ";G3);Faltante!A:L;12;0))

Minha sugestão é transformar a base de procura (planilha faltantes) em tabela e referenciar as colunas da tabela na fórmula.

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 05/07/2018 7:54 am
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Cole seus dados neste exemplo e teste o desempenho.
Acredito que ficará mais leve.
Dê retorno

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 05/07/2018 8:02 am
(@deeco)
Posts: 4
New Member
Topic starter
 

A principio deu certo amigo, esta bem mais rápido e sem necessidade de códigos.

Muito obrigado mesmo :D :D :D

 
Postado : 05/07/2018 10:57 am