marreco
Member
how to reduce this code?
Code:
Sub FilterAndPrint()
Dim ws As Worksheet
Dim lastrow As Long
Application.ScreenUpdating = False
Set ws = ActiveSheet
With ws
lastrow = .Cells(Rows.Count, "A").End(xlUp).Row
.AutoFilterMode = False
.Range("A4:H" & lastrow).AutoFilter field:=8, Criteria1:="INTERNO"
.Range("A4:H" & lastrow).AutoFilter field:=2, Criteria1:="INTERNO 1"
.PageSetup.PrintArea = ""
.PageSetup.PrintArea = .Range("A4:H" & lastrow).Address
'.PrintOut
'Filter and print again
.AutoFilterMode = False
.Range("A4:H" & lastrow).AutoFilter field:=8, Criteria1:="INTERNO"
.Range("A4:H" & lastrow).AutoFilter field:=2, Criteria1:="INTERNO 2"
.PageSetup.PrintArea = ""
.PageSetup.PrintArea = .Range("A4:H" & lastrow).Address
'.PrintOut
'Filter and print again
.AutoFilterMode = False
.Range("A4:H" & lastrow).AutoFilter field:=8, Criteria1:="INTERNO"
.Range("A4:H" & lastrow).AutoFilter field:=2, Criteria1:="INTERNO 3"
.PageSetup.PrintArea = ""
.PageSetup.PrintArea = .Range("A4:H" & lastrow).Address
'.PrintOut
'Filter and print again
.AutoFilterMode = False
.Range("A4:H" & lastrow).AutoFilter field:=8, Criteria1:="EXTERNO"
.Range("A4:H" & lastrow).AutoFilter field:=2, Criteria1:="EXTERNO 1"
.PageSetup.PrintArea = ""
.PageSetup.PrintArea = .Range("A4:H" & lastrow).Address
'.PrintOut
'Filter and print again
.AutoFilterMode = False
.Range("A4:H" & lastrow).AutoFilter field:=8, Criteria1:="EXTERNO"
.Range("A4:H" & lastrow).AutoFilter field:=2, Criteria1:="EXTERNO 2"
.PageSetup.PrintArea = ""
.PageSetup.PrintArea = .Range("A4:H" & lastrow).Address
'.PrintOut
'Filter and print again
.AutoFilterMode = False
.Range("A4:H" & lastrow).AutoFilter field:=8, Criteria1:="EXTERNO"
.Range("A4:H" & lastrow).AutoFilter field:=2, Criteria1:="EXTERNO 3"
.PageSetup.PrintArea = ""
.PageSetup.PrintArea = .Range("A4:H" & lastrow).Address
End With
Application.ScreenUpdating = True
End Sub