Pegar datos filtrados en fila vacía

Quisiera una macro que me copie una columna filtrada y me la pegue en la primera fila vacía de otra hoja. Tengo esta, pero no logro que me copie en la primera fila vacía

Sub Copiar()

Dim ufila As Long
ufila = Cells(Rows.Count, 1).End(xlUp).Row
j = 2
For i = 2 To ufila
Sheets("Hoja1").Activate
If Cells(i, "B").Value > 100 Then
Range(Cells(i, "A"), Cells(i, "C")).Copy
Sheets("Hoja2").Activate
'Cells(j, "A").Select
Range("A1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
j = j + 1
End If
Next

End Sub

1 respuesta

Respuesta
1

Mucho código para algo tan sencillo, prueba este código que usando la función filtro de Excel filtra (valga la redundancia) todos aquellos valores mayores a 100 y los copia todos a la vez a la hoja2, con esto te ahorras la necesidad de hacerlo mediante ciclos Do

Sub copiar_filtrados()
With Sheets("hoja1").Range("a1").CurrentRegion
    . AutoFilter
    . AutoFilter 2, ">100"
    . Offset(1). Resize(, 3). Copy
    Sheets("hoja2"). Range("a1"). PasteSpecial
    . AutoFilter
End With
End Sub

Muchas gracias por tu pronta respuesta, esto hace muy bien la labor, pero me falta lo que no hace mi macro, que es copiar los datos en la primera fila vacía que encuentre en la hoja2, ejemplo, si la columna A está llena hasta la fila 50, los datos los pegue en la fila 51 de la hoja2.

Muchas gracias nuevamente

Perdón, donde dice "COPIAR los datos en la primera fila vacía que encuentre en la hoja2" Debe decir "PEGAR los datos en la primera fila vacía que encuentre en la hoja2"

Pues entonces esta macro ya esta modificada par copiar en la primera fila vacía que encuentre en la columna A de la hoja2

Sub copiar_filtrados()
filas = Sheets("hoja2").Range("a1").CurrentRegion.Rows.Count
With Sheets("hoja1").Range("a1").CurrentRegion
    . AutoFilter
    . AutoFilter 2, ">100"
    . Offset(1). Resize(, 3). Copy
    Sheets("hoja2"). Range("a1").Rows(filas + 1). PasteSpecial
    . AutoFilter
End With
End Sub

¡Gracias! Excelente!!!! Se agradece el esfuerzo y dedicación en ayuda de los que no tenemos tanto conocimiento

Saludos y un abrazo!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas