ATTENZIONE LE Intestazioni devono essere uguali
per la prima d'esempio in colonna A in A1 = Nome e A11 = Nome (dove in A12,a13,a14 sono i parametri di selezione)
Unique:=True unico
Unique:=True False Tutti
Sub Macro1()
'
' Macro1 Macro
'
'
Range("A1:A9").Select
Range("A1:A9").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
("Foglio2!Criteria"), Unique:=True' Unique:=True False
End Sub
Sub Macro2()
'
' Macro2 Macro
'
'
Range("A11:A19").Select
Range("A11:A19").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("B1:B4"), Unique:=True
End Sub
Option Explicit
Sub Multi_Filtro()
Dim UR As Long, Cr1 As Long, Cr2 As Long, Destinazione As String
Application.ScreenUpdating = False
UR = Range("A" & Rows.Count).End(xlUp).Row
Range("A13:A" & UR).AutoFilter Field:=1, Criteria1:="<>"
ActiveSheet.ShowAllData
' Servono a calcolare dinamicamente gli intervalli dell'area da filtrare e del'area dei criteri
UR = Range("A" & Rows.Count).End(xlUp).Row
Cr1 = Range("U1").End(xlDown).Row
Cr2 = Range("U" & Rows.Count).End(xlUp).Row
'
' ATTENZIONE la prima cella dell'intervallo dei criteri dei essere l'intestazione della colonna da filtrare
' nell'esempio in U15 devi scrivere "Cat"
Range("A13:N" & UR).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
("U" & Cr1 & ":U" & Cr2), Unique:=False
Range("C10") = "Più Criteri"
Application.ScreenUpdating = True
MsgBox "Effettuata la selezione per 'Più Criteri'"
End Sub
Nota ...Range("A13:N" & UR).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
("U" & Cr1 & ":U" & Cr2), Unique:=False
|