The linked workbook is very crowded and cluttered with text boxes and headers, etc., very difficult to work with. A number of A to O columns are hidden...?
Here is an uncluttered two sheet example to do the "Yes" in column O transfers to the Archives sheet, then deletes the filtered visible cells. You will get an alert message asking you if want to delete all sheet rows, click Yes to delete all the Yes rows showing and the remaining data will then be restored in place.
I left three rows for headers and the code is written with those three header row taken into consideration.
The phony data goes about 300 rows, I have tested it on 800 +- rows with about 500 Yes entries in column O. Works in just over a blink in time to filter and transfer and produce the alert message.
You can also click Cancel and prevent deleting the Yes rows. The Archive sheet will still have listed the Yes rows, so you can do what you want with them after clicking Cancel.
So, you would put any number of yes's in column O, then click the blue shape. It has the code assigned to it.
https://www.dropbox.com/s/q8ubq0m4tm0i09c/Regular Callback Demo.xlsm?dl=0
On your linked workbook you have placed the Workbook Open macro in a standard module where it should go in the ThisWorkbook module. And you also have Change_Event macros in standard modules where they must be in the sheet module for which intend them to work on/for.
And you could consider a simple macro like this to enter the Yes on column O instead of all the drop downs.
I have the key strokes Ctrl+Shift+Y assigned to it. (you may need to re-assign ctrl - shift - Y, not sure it will come with the drop box link)
Code:
Sub Cell_Is_Yes() 'Ctrl + Shift + Y
If Intersect(ActiveCell, Range("O4:O400")) Is Nothing Then Exit Sub
ActiveCell = "yes"
End Sub
Howard