Sub PrintBP()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim Arr, i As Long, lr As Long
Sheet1.AutoFilterMode = False
lr = Sheet1.Cells(Rows.Count, "G").End(xlUp).Row + 1
With Sheet1
Arr = UniqueArray(.Range("G5:G" & lr))
.Range("G4:G" & lr).AutoFilter
For i = 1 To UBound(Arr, 1)
If Arr(i, 1) <> "" Then
.Range("C3").Value = Arr(i, 1)
.Range("G4:G" & lr).AutoFilter Field:=1, Criteria1:=Arr(i, 1), Operator:=xlOr, Criteria2:="="
.PrintPreview
' .PrintOut ' To print
End If
Next i
End With
Sheet1.AutoFilterMode = False
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub