Okay, I believe the following code will do what you're after, but I had to stop testing it as my Excel started behaving erratically while using it. So... test it on a copy of your book, and I hope it's just my Excel being stupid.
VBA Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo SetMeFree
Dim ws As Worksheet
Dim lRowA As Long, lRowC As Long
Application.EnableEvents = False
Application.ScreenUpdating = False
Set ws = Worksheets("Complete")
lRowA = Range("A" & Rows.Count).End(xlUp).Row
lRowC = ws.Range("A" & Rows.Count).End(xlUp).Row + 1
If Not Intersect(Target, Range("Q2:Q" & lRowA)) Is Nothing And Target.Count = 1 Then
If Range("Q" & Target.Row).Value = "Yes" Then
Range("A" & Target.Row & ":Q" & Target.Row).Copy
ws.Range("A" & lRowC).PasteSpecial xlPasteValues
Rows(Target.Row & ":" & Target.Row).Delete Shift:=xlUp
Application.CutCopyMode = False
End If
Else
GoTo SetMeFree
End If
SetMeFree:
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub