Try the following code placed in a standard module and assigned to a button:-
Dim ws As Worksheet: Set ws = Sheets("K1")
Dim ws1 As Worksheet: Set ws1 = Sheets("Completed")
Application.ScreenUpdating = False
With ws.Range("Z4", ws.Range("Z" & ws.Rows.Count).End(xlUp))
.AutoFilter 1, "X", xlOr, ChrW(&H2713)
ws.Range("C5", ws.Range("Z" & ws.Rows.Count).End(xlUp)).Copy
ws1.Range("A" & Rows.Count).End(3)(2).PasteSpecial xlValues
'ws.Range("C5", ws.Range("Z" & ws.Rows.Count).End(xlUp)).EntireRow.Delete
ws1.Range("A2", ws1.Range("X" & ws1.Rows.Count).End(xlUp)).Sort ws1.[A2], 1
Application.CutCopyMode = False
Application.ScreenUpdating = True
The code assumes that your data starts in Column C, row5 with headings in row4.
The transferred data is sorted by date ascending in the "Completed" sheet.
If you want the "used" data from the "K1" sheet deleted after each transfer then remove the apostrophe(') from in front of the green coloured line of code (line 12).
Please test the code in a copy of your workbook first.
I hope that this helps.