David, I have been thinking about speed of execution. I note that your numbers are about 200 Project sheets, 1K Rows (MR), and 100K Rows (PR)

I strongly suspect that PR is some kind of historical Data. Shouldn't you delete any Rows in PR that do NOT reference an actual Project Sheet? Especially since one of the required checks of the code I'm writing will check for that actuality on the basis of checking the spelling of the Project ID#?

Note that it also checks the Project IDs in MR against actual Project sheets, but I suspect that the MR data is generated each week and only references actual Projects.

Secondary question: Should the PR Row deletion code check for data dates 1 and 2 or just for the existence of an actual Project sheet?