¿Hay alguna forma de mejorar esta macro?
Hola expertos, ya hice unas consultas aca para crear esta macro... Necesitaría saber si hay algo que se le puede modificar/agregar/quitar para que se pueda ejecutar mas rapido.
Sub FiltrarMovDeMaquinas()
'Desactivar calculo automático
Application.Calculation = xlCalculationManual
'Apagar el parpadeo de pantalla
Application.ScreenUpdating = False
'Apagar los eventos automáticos
Application.EnableEvents = False
'si el mov se bajo en csv cambia el "." de los montos por ","
Range("h1:j8000").Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
'llamar macro que limpia
LimpiaMovdeMaq
'declaración de variable para el rango de datos exportcas
Dim rangoparafiltrar As Range
Set rangoparafiltrar = Worksheets("export_cas").Range("H1:J" & (Range("H1048576").End(xlUp).Row))
'Filtrar Ticket in Ticket out
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("V1:V2"), CopyToRange:=Range("T3"), Unique:=False
'filtrar Pagos Fuera de Sistema
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("Z1:Z2"), CopyToRange:=Range("X3"), Unique:=False
'filtrar Procesos de Pagos
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("AD1:AD2"), CopyToRange:=Range("AB3"), Unique:=False
'filtrar Recupero de Poder Publico
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("AH1:AH2"), CopyToRange:=Range("AF3"), Unique:=False
'filtrar Poder Publico
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("AL1:AL2"), CopyToRange:=Range("AJ3"), Unique:=False
'filtrar Emitidos
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("AP1:AP2"), CopyToRange:=Range("AN3"), Unique:=False
'filtrar Anulados
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("AT1:AT2"), CopyToRange:=Range("AR3"), Unique:=False
'filtrar Tickets pagados en maquina
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("aX1:aX2"), CopyToRange:=Range("AV3"), Unique:=False
'filtrar Tickets pagados en caja
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("BB1:BB2"), CopyToRange:=Range("AZ3"), Unique:=False
'filtrar Recupero por anulación
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("BF1:BF2"), CopyToRange:=Range("BD3"), Unique:=False
'filtrar Recupero por vencido / anulado
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("BJ1:BJ2"), CopyToRange:=Range("bh3"), Unique:=False
'filtrar Tickets vencidos
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("bn1:bn2"), CopyToRange:=Range("bl3"), Unique:=False
'filtrar Tickets vencidos pagados
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("br1:br2"), CopyToRange:=Range("bp3"), Unique:=False
'filtrar Diferencia
rangoparafiltrar.AdvancedFilter Action:=xlFilterCopy _
, CriteriaRange:=Range("bv1:bv2"), CopyToRange:=Range("bt3"), Unique:=False
'proteger export_Cas
Sheets("Export_cas").Protect "978645312"
'activa calculo automático
Application.Calculation = xlAutomatic
'Apagar los eventos automáticos
Application.EnableEvents = True
'Prender el parpadeo de pantalla
Application.ScreenUpdating = True
End Sub
Sub LimpiaMovdeMaq()
Sheets("EXPORT_CAS").Unprotect "978645312"
'borrar datos filtrados
Range("T3:BV" & (Range("h1048576").End(xlUp).Row)).Clear
End Sub
Gracias por la ayuda.