I'm pretty terrible at VB myself. I just used the recorder to write this, and then manually adjusted the range.
Sub Filter()
Sheets("FILTER").Range("A6:N500").Clear
Sheets("OPEN ORDERS").Range("A1:N500").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("FILTER").Range("A1:N3"), _
CopyToRange:=Sheets("FILTER").Range("A6"), _
Unique:=False
End Sub
The code is in the workbook I did attach, you just have to enable macros when you open it. (Your machine may be disabling them by default, but you should still be able to see the code.)
The first part clears the filtered data on the FILTER tab. The second part pulls the data. It looks at A1:N500 of OPEN ORDERS and then filters the data according to the first 3 lines of the FILTER tab, and dumps it in A6. It's that simple.
The macro should have a negligible impact on file size. The total code is less than 15 KB.
Bookmarks