é meio dificil se achar numa planilha desse tamanho
mas ao meu ver está faltando o basico de um bom desenvolvimento
congelar tela e calculo de formulas enquanto a macro roda
isso se usa no inicio da macro :
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
------------------------------------------------------------------------------------------------------------------------------
vai selecionar apenas as linhas que tem dados isso vai evitar de ter que mudar a macro quando a planilha tiver mais linhas do que a macro suporta
" a não ser que se tenha uma area fixa que se queira"
coluna ="F"
Set intervalo1 = Range(coluna & 2, coluna & Cells(Rows.Count, coluna).End(xlUp).Row )
em vez de:
Set intervalo1 = Range("F2:F20000")
-----------------------------------------------------------------------------------------------------------------------------------
não é necessário fazer select
Set intervalo1 =Sheets("BD_CBUs").Range("F2:F20000")
Set intervalo2 = Sheets("BD_CBUs").Range("K2:K20000")
ou para pegar até a ultima linha com dados
With Sheets("BD_CBUs")
coluna ="F"
Set intervalo1 = .Range(coluna & 2, coluna & .Cells(Rows.Count, coluna).End(xlUp).Row )
coluna ="K"
Set intervalo2 = .Range(coluna & 2, coluna & .Cells(Rows.Count, coluna).End(xlUp).Row )
end With
em vez de
Sheets("BD_CBUs").Select
Set intervalo1 = Range("F2:F20000")
Set intervalo2 = Range("K2:K20000")
================================================================================================
fora isso
Pelo que reparei e seria a informação mais importante para a solução do seu problemas é que a macro que ocasiona a lentidão e a mais feia que vi na planilha seria a
Private Sub cmd_lancar_Click()
que está no formulario Frm_Lancamentos
com um monte de ActiveCell.Offset
para esse vai ter que ter animo para editar
Mas por enquanto use :
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
no inicio da macro
e
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
no final da macro
Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.
"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"
Postado : 23/07/2015 8:56 pm