Pessoal, boa noite!
Gostaria de uma ajuda. Tenho um relatório que preciso deletar linhas de acordo com alguns critérios. Como o relatório tem mais de 18 mil linhas, a rotina que escrevi está muito lenta e trava no final. Alguém pode me ajudar a melhorar o desempenho, de repente com uma outra estrutura?
Agradeço desde já.
Abaixo a macro que escrevi:
Sub LimparRelatorio()
Dim Lin As Long
Dim uLin As Long
Dim Wks As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Set Wks = ActiveSheet
uLin = Wks.Cells(Rows.Count, 1).End(xlUp).Row
For Lin = uLin To 2 Step -1
Select Case Cells(Lin, 9).Value
Case Is = 1000, 1010: Rows(Lin).Delete
End Select
Select Case Cells(Lin, 12).Value
Case Is = 0: Rows(Lin).Delete
End Select
Next Lin
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub
Postado : 23/11/2019 10:01 pm