Lines 7 & 8 in the code above are actually one line of code. It appears as two lines just so it can fit into the dialogue box.
Basically, these lines of code are telling Excel to place a filter on the entire Column Q and filter for the criteria "Remove". The number 1 means that the filter is filtering just the one column (Q). The number 7 is just an abbreviation for "xlFilterValues".
Line 9 basically is telling excel to find the last used row of data. It is telling Excel to go to the bottom of the sheet and count the rows all the way back up until the last used row of data. Its done this way as the rows of data will always vary.
The method that you have tried does not work because using this type of code (autofilter) will only allow you to use two criteria at once. Hence, this is why I don't understand what you are trying to do. Your first post states that you are wanting to transfer any row of data that has the status "Remove" in Column Q to the second sheet with the relevant row of data deleted from the first sheet which is what happens in the sample that I supplied (this, at least, is how I have interpreted your first post).
However, do you actually mean that various
statuses and their relevant rows of data may need to be transferred/deleted as required? If so, the simplest method of doing this would be to add a "Criteria" column (say Column AD) and then, in the relevant cell, type in the criteria "Remove" to have the relevant row of data transferred/deleted once the button is clicked. You would only have to change any "Q" to "AD" in the code above to have this work.
I hope that this helps.