Macro para Copiar Datos de un archivo con criterios a otro sin necesidad de abrir el primero

Necesito que me ayuden un poco, saben que estoy haciendo un archivo, que al dar clic en un botón, me busque un determinado archivo, en determinada ruta, y que los datos que están en un rango definido, por ejemplo de la A1 A E500, me filtre por columnas, por ejemplo, la columna "D", debe ser mayor o igual a 1, y luego las que queden filtre la columna "C", y debe de ser mayor o igual a 1, y lo que quede me lo copie en el archivo que tengo abierto, sin necesidad de ver todo el proceso, o que abra el archivo origen, espero me puedan ayudar.

Esta es la macro que tengo pero en el mismo archivo que tengo datos, y la idea es hacerlo directamente de otro archivo que es donde se van a almacenar los datos, y el original quedara intacto.

Ya que este cambia cada día.

Sub copiar()
Set h1 = Sheets("hoja1")
Set h2 = Sheets("hoja1")
j = h2.Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To 5000
If h1.Cells(i, "D").Value >= 1 And _
h1.Cells(i, "C").Value >= 1 And _
h1.Cells(i, "A").Value >= 1 Then
h2.Cells(j, "A") = h1.Cells(i, "A")
h2.Cells(j, "B") = h1.Cells(i, "B")
h2.Cells(j, "C") = h1.Cells(i, "C")
h2.Cells(j, "D") = h1.Cells(i, "D")
h2.Cells(j, "E") = h1.Cells(i, "E")
j = j + 1
End If
Next
End Sub

Añade tu respuesta

Haz clic para o