Improving performance of VBA batch scripts?
Rather than copying sheet by sheet - plus deleting three excess sheets one by one, either 


Delete the sheets you don't need then use SaveAs on the reduced file.
Copy both sheets you need to a new file in a single hit.


(Also, don't Dim variables inside a loop)

(2) below

Sub Flujo()

Const FilePath = "A path..."
Const Destination = "Another path..."
Dim xlApp As New Excel.Application

With xlApp
    .Visible = False
    .ScreenUpdating = False
    .DisplayAlerts = False
End With

Dim strDir As String
Dim WrkBook As Workbook

strDir = Dir(FilePath &amp; "\*.xlsx")

Do While Len(strDir) &gt; 0      
Set WrkBook = xlApp.Workbooks.Open(Filename:=FilePath &amp; "\" &amp; strDir, UpdateLinks:=0)
  WrkBook.Sheets(Array("SheetName", "AnotherSheetName")).Copy
  ActiveWorkbook.SaveAs Filename:=Destination &amp; "flujo_" &amp; WrkBook.Name
  ActiveWorkbook.Close False
  WrkBook.Close False
strDir = Dir 
Loop

xlApp.DisplayAlerts = True

xlApp.Quit
Set xlApp = Nothing
End Sub