You don't state the criteria for determining which row to cut and paste, but it is usually based on the value in a particular column.
You request a macro, but usually it is better to make the process automatic when the specified criteria is met in a given row in the specified column. That can be done using an event handler.
So, assuming you wish to cut and paste the entire row if the value in column E is 'Yes', here is one way, using the Workbook_Change event handler.
Copy the following event handler to the clipboard (highlight the entire event handler, right click inside the highlighted area, and 'Copy'):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i, LastRow
LastRow = Range("E" & Rows.Count).End(xlUp).Row
For i = 2 To LastRow
If UCase(Cells(i, "E").Value) = "YES" Then
Cells(i, "E").EntireRow.Cut Destination:= _
Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
Next
End Sub
Select the worksheet containing the rows to cut and paste, and right click the sheet tab at the bottom.
Select 'View Code'.
Paste the event handler into the white editing area to the right (right click inside the area and 'Paste').
Close the VBE (red button - top right).
Now, whenever a cell in column E contains the word 'Yes' (or YES, yes, or even YeS), the entire row will be cut and pasted into the next available row in Sheet2.
Note: if your column is not E, change the three "E" references to your column reference, i.e. "M", "T", etc.
If the sheet to copy to is not Sheet2, change the "Sheet2" reference to your sheet name to copy to, i.e. "Extract", "Archive", etc.