Instrucción en VBA para hacer que la macro se ejecute más rápido
Tengo un archivo super pesado, donde tiene 4 hojas, en cada hoja hay aproximadamente 600.000 registros y la macro lo que hace es que añade una hoja nueva, y consolida la información que se filtra de las 4 hojas de acuerdo a una celda que hay en otro archivo, entonces filtra esas 4 hojas consolida en la hoja nueva, para luego copiar todo en esa hoja nueva y pegarlo en el otro archivo. El tema es que como es tanta la información, ese proceso es muyyyyyyyy demorado ("EN ESPECIAL LA PARTE QUE FILTRA"), quisiera ustedes me ayudaran a checar mi código y si puedo hacer más rápido o optimizar el código. Mil gracias.
Sub Extraer_Info_SAP()
Application.DisplayAlerts = False
a = Range("G13").Text
b = Range("H13").Text
c = Range("G18").Text
d = Range("H18").Text
Dim MyFile As String
Dim pctCompl As Single
MyPath = Range("G2").Text
MyFile = Dir(MyPath)
Workbooks.OpenText FileName:=a
Sheets("0L").Select
Do While MyFile <> ""
If MyFile Like "*.xlsx" Then
Workbooks.Open MyPath & MyFile
Sheets("Formato ").Select Range("Z4").Select
ActiveCell.FormulaR1C1 = Mid(Mid(ActiveWorkbook.Name, 33, 33), 1, 11)
criterio = Sheets("Formato ").Cells(4, 26)
Workbooks(b).Activate
Ultimafila = "AL" & ActiveSheet.Columns("A").Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row
Dim xWs As Worksheet
On Error Resume Next
For Each xWs In Worksheets
xWs.Range("A1:" & Ultimafila).AutoFilter 10, criterio
Next
For Each hoja In ActiveWorkbook.Sheets
If hoja.Name = "todas" Then hoja.Delete
Next
Sheets.Add before:=Sheets(1)
ActiveSheet.Name = "todas"
For x = 2 To Sheets.Count
Sheets(x).Select
Range("a1:al" & Range("a1048576").End(xlUp).Row).Copy
Sheets("todas").Range("a1048576").End(xlUp).Offset(1, 0).PasteSpecial xlPasteAll
Next
Sheets("todas").Select
Rows("1:1").Select
Selection.Delete Shift:=xlUp
Cells.Select
Selection.Copy
Workbooks(MyFile).Activate
Sheets("Movimiento Cuenta en Compañía").Select
Range("a1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("a1").Select
Sheets("Formato ").Select Range("A1").Select
Workbooks.OpenText FileName:=c
Sheets("Todas").Select
Cells.Select
Selection.Copy
Workbooks(MyFile).Activate
Sheets("Balance").Select
Range("a1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("a1").Select
Sheets("Formato ").Select Range("A1").Select
ActiveWorkbook.Close True
End If
MyFile = Dir
Loop
End Sub