Después de aplicar el filtro en tu hoja1, ejecuta la siguiente macro:
Sub Copiar_Filas()
'Por.Dante Amor
'
Application.ScreenUpdating = False
Set h1 = Sheets("Hoja1") 'hoja con los datos
Set h2 = Sheets("Hoja2") 'hoja destino
'
col = "D" 'columna donde tienes el filtro
f_ini = 2 'fila inicial de datos
filas = 15 'número de filas a copiar
f_des = 2 'fila destino en la hoja 2
'
h2.Rows(f_des & ":" & Rows.Count).ClearContents
u = h1.Range(col & Rows.Count).End(xlUp).Row
If u < f_ini Then
MsgBox "No existen datos a copiar"
Exit Sub
End If
cuenta = h1.Range(h1.Cells(f_ini, col), h1.Cells(u, col)).SpecialCells(xlCellTypeVisible).Count
If cuenta < 15 Then
h1.Rows(f_ini & ":" & u).Copy
h2.Range("A" & f_des).PasteSpecial xlValues 'celda destino en hoja2
Else
contador = 0
For i = u To f_ini Step -1
If h1.Range(col & i).EntireRow.Hidden = False Then
contador = contador + 1
If contador = filas Then Exit For
End If
Next
'fila = h1.Range(h1.Cells(u - filas, col), h1.Cells(u, col)).SpecialCells(xlCellTypeVisible).Address
h1.Rows(i & ":" & u).Copy
h2.Range("A2").PasteSpecial xlValues
End If
Application.ScreenUpdating = True
Application.CutCopyMode = False
MsgBox "Filas copiadas"
End SubActualiza en la macro los siguientes datos para copiar a la hoja2:
Set h1 = Sheets("Hoja1") 'hoja con los datos
Set h2 = Sheets("Hoja2") 'hoja destino
'
col = "D" 'columna donde tienes el filtro
f_ini = 2 'fila inicial de datos
filas = 15 'número de filas a copiar
f_des = 2 'fila destino en la hoja 2
Avísame cualquier duda.
.
.