Copy rows from one tab to another - if specific criteria in col

Closed
schme73 Posts 1 Registration date Thursday April 6, 2017 Status Member Last seen April 6, 2017 - Apr 6, 2017 at 01:17 PM
vcoolio Posts 1404 Registration date Thursday July 24, 2014 Status Moderator Last seen September 15, 2023 - Apr 7, 2017 at 08:24 AM
Hello,

In a file, I am trying to copy data from one row of a worksheet if specific criteria are met in one column to another worksheet.

Ex: If in Sheet 1, Column F there is a "1", I want that entire row in Sheet 1 to copy over to Sheet 2.

Thanks

1 response

vcoolio Posts 1404 Registration date Thursday July 24, 2014 Status Moderator Last seen September 15, 2023 259
Apr 7, 2017 at 08:24 AM
Hello Schme73,

Try the following code, placed in a standard module and assigned to a button:-

Sub DataTransfer()

Application.ScreenUpdating = False

With ActiveSheet
    .AutoFilterMode = False
With Range("F1", Range("F" & Rows.Count).End(xlUp))
            .AutoFilter 1, 1
            If Range("F" & Rows.Count).End(xlUp).Row > 1 Then
            .Offset(1).EntireRow.Copy Sheet2.Range("A" & Rows.Count).End(3)(2)
            '.Offset(1).EntireRow.Delete
            End If
     End With
ActiveSheet.[F1].AutoFilter
End With

Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub


The code filters Sheet1 Column F for the number 1 and then transfers the relevant rows of data to Sheet 2. Did you want to clear the "used" data from Sheet 1 once transferred to Sheet 2? If so, remove the apostrophe from the begining of line 12 (in green font) in the code above. This will activate the delete line of code.

Test the code in a copy of your workbook first.

I hope that this helps,

Cheerio,
vcoolio.
0