Notifications
Clear all

[Resolvido] Comparar duas colunas sem loop vba

3 Posts
2 Usuários
0 Reactions
955 Visualizações
(@redskin)
Posts: 2
New Member
Topic starter
 

Boa noite pessoal,

Tenho uma planilha que identifico certos outliers (valores extremos), comparando duas "tabelas" usando um loop, entretanto, o arquivo é muito grande (de 400k a 500k linhas), a macro levar cerca de 20 minutos.

Minha dúvida é: teria como fazer isso sem usar um loop?

Segue um arquivo modelo.

Abs,

 
Postado : 30/07/2020 7:06 pm
Raygsson
(@raygsson)
Posts: 68
Trusted Member
 

Voce pode melhorar bastante o desempenho desabilitando recursos do excel enquanto executa o loop.

Desativa no inicio da Sub e ativa novamente no final.

Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual

 

Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic

 
Postado : 30/07/2020 11:49 pm
(@redskin)
Posts: 2
New Member
Topic starter
 

Boa noite Raygsson,

Desculpe a demora em retornar.

Então, eu utilizo essas desabilitações e mesmo assim a macro ainda ficava lenta.

A solução que eu consegui para acelerar foi usar as fórmulas índice e corresp, lançando via vba na célula e transformando em valores depois, o ganho foi absurdo, de 20 min foi para 15 seg.

Obrigado pela ajuda.

Abs,

 

 
Postado : 03/08/2020 6:19 pm