I think this should work for you. The i used SpecialCells to select all the filtered values ie all the visible ones. I was thinking that you could just remove them after they are copied over to the new sheet. Depending on how the new sheet is set up this may cause some conflicts but seeing as how you wrote the macro initially i am sure you can adjust tailor it to fit your needs.
Option Explicit
Sub CopyData()
Dim DestBook As Workbook, SrcBook As Workbook
Dim LR As Long, LR2 As Long
Application.ScreenUpdating = False
Set SrcBook = ThisWorkbook
On Error Resume Next
Set DestBook = Workbooks("Test Transfer Data.xls")
If DestBook Is Nothing Then
Set DestBook = Workbooks.Open("C:\Test Transfer Data.xls")
If Err.Number = 1004 Then
Set DestBook = Workbooks.Add
SrcBook.Worksheets("Test_From").Range("a5:a1000").Copy
DestBook.Worksheets("Test_To").Range("A1").PasteSpecial
Application.CutCopyMode = False
DestBook.SaveAs ("C:\Test Transfer Data.xls")
DestBook.Close
Else
LR = SrcBook.Worksheets("Test_From").Range("A" & Rows.Count).End(xlUp).Row
SrcBook.Worksheets("Test_From").Range("a5:a" & LR).SpecialCells(xlCellTypeVisible).Copy
DestBook.Worksheets("Test_To").Range("A32").PasteSpecial
LR2 = DestBook.Worksheets("Test_To").Range("A" & Rows.Count).End(xlUp).Row
DestBook.Worksheets("Test_To").Range("A43:A" & LR2).ClearContents
Application.CutCopyMode = False
DestBook.Save
DestBook.Close
End If
Else
LR = SrcBook.Worksheets("Test_From").Range("A" & Rows.Count).End(xlUp).Row
SrcBook.Worksheets("Test_From").Range("a5:a" & LR).SpecialCells(xlCellTypeVisible).Copy
DestBook.Worksheets("Test_To").Range("A32").PasteSpecial
LR2 = DestBook.Worksheets("Test_To").Range("A" & Rows.Count).End(xlUp).Row
DestBook.Worksheets("Test_To").Range("A43:A" & LR2).ClearContents
Application.CutCopyMode = False
End If
On Error GoTo 0
Set DestBook = Nothing
Set SrcBook = Nothing
End Sub
Bookmarks