I have a spreadsheet called "old":

| col1 | col2 | col3 |
| --- | --- | --- |
| A | B | C |
| D | E | F |
| -- | -- | -- |

I have another spreadsheet called "new" that is empty.

I want to copy every row from "old" that has "col3 = C" **and** "col2 ending in B" to "new".

This is what I tried.  

I select A1 - L34 before applying a filter because my test data has only entries in A1 - L34 but this obviously isn't extensible.  

I want it so the range isn't hardcoded.

```vb
Sub Test()

    Sheets("Old").Select
    Range("A1:L34").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$O$8351").AutoFilter Field:=3, Criteria1:="C"
    ActiveSheet.Range("$A$1:$O$8351").AutoFilter Field:=2, Criteria1:="=*B", _
        Operator:=xlAnd

    Range("A1:L34").Select
    Selection.Copy

    Sheets("New").Select
    Range("A1").Select
    ActiveSheet.Paste
End Sub

```