041. Filtro Rapido con VBA (Excel 2007-2010)

Download PDF

In ambito lavorativo capita spesso di avere file con un foglio dove sono presenti le anagrafiche dei clienti ed un altro contenente ad esempio il dettaglio degli ordini dei clienti.

Quando si hanno elevate quantità di dati non è immediato aprire il filtro sul foglio degli ordini
ed individuare il cliente da trovare.

Per eliminare questa fastidiosa perdita di tempo, ho creato una semplice macro (che funziona con Excel 2007 e 2010) che permette di applicare il filtro con un semplice doppio click sul nome del cliente.

Ho sfruttato l’evento DoppioClick del foglio “Anagrafiche” ed impostato quanto segue:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Last_Row = ActiveSheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

If Intersect(Target, Sheet1.Range(Cells(2, 1), Cells(Last_Row, 1))) Is Nothing Then

Else

AnagraficaSelezionata = Target.Value         
Sheet2.Select         
ActiveSheet.Range("A1").CurrentRegion.AutoFilter Field:=1, Criteria1:=AnagraficaSelezionata     

End If

End Sub

Quando la cella selezionata si trova nella colonna dove è presente il nome del cliente
(quando l’intersezione tra cella selezionata e colonna 1 non è vuota)
assegno alla variabile AnagraficaSelezionata il valore della stessa (Target.value)
e la uso come criterio nel filtro (Criteria1:=AnagraficaSelezionata)

A voi il file:
APRI

Riccardo Vincenti

The following two tabs change content below.