Puedes conseguir el filtro de esta manera
En el evento open del thisworkbook seria así
-----------------------------------------------------------------------------------
Private Sub Workbook_Open()
Filtro
Ordenar
End Sub
-------------------------------------------------------------------------------------------
sub filtro ()
ActiveSheet.Range("$A:$R").AutoFilter Field:=12, _ Criteria1:=Array("primer criterio", "Segundo C.", "tercer C.", "cuarto c."), Operator:=xlFilterValues
end sub
------------------------------------------------------------------------------------------
sub ordenar()
ActiveWorkbook.Worksheets("trabajo").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("trabajo").Sort.SortFields.Add Key:=Range("m1:m100"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("trabajo").Sort
.SetRange Range("A2:m100")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
end sub
-------------------------------------------------------------------------------
Solo tendrías que cambiar donde dice primer criterio por el criterio de búsqueda en tu caso seria NC casa etc.
Si te silve no olvide valorar para cerrar la pregunta