Try with this macro:
Sub Macro1()
With ThisWorkbook.Sheets("sheet1")
firstFreeRow = .Range("a1").CurrentRegion.Rows.Count + 1
areasCount = .Range("c2:c" & firstFreeRow - 1).SpecialCells(xlCellTypeVisible). _
Areas.Count
aAddress = Split(.Range("c2:c" & firstFreeRow - 1).SpecialCells(xlCellTypeVisible) _
.Areas(areasCount).Address(False, False), ":")
lastFilteredRow = Range(aAddress(UBound(aAddress))).Row
'to copy data you can write:
.Cells(lastFilteredRow, "c").Copy .Cells(firstFreeRow, "c")
End With
End Sub
Regards,
Antonio
Bookmarks