Filtrare dati in un elenco ed applicare i subtotali ai dati filtrati. - dal 04/09/04 pagina vista: volte Quando si predispone una filtrazione su dati di un elenco, può necessitare ottenere dei totali relativi ai soli dati filtrati. Ricordo che in un elenco filtrato, le righe dati che non corrispondono al criterio di ricerca, vengono nascoste, NON eliminate, e se usiamo la funzione =SOMMA su una colonna contenente i valori da sommare, otterremo la somma ANCHE delle celle nascoste. Una maniera per sommare solo i valori legati al criterio di ricerca scelto (e quindi un totale indicizzato al criterio scelto), può essere l'esercizio che presento. Intanto vediamo un esempio di un database classico, dove abbiamo un campo "mese", un campo "nome", un campo "date" e poi altri campi di imputazioni costi, ed un campo "totale" relativo al totale dei costi riportati sulla stessa riga: L'esercizio: vogliamo il totale delle varie voci più il totale generale filtrato sul mese. Questo ci consentirà di controllare il totale mensile dei movimenti, indipendentemente dal nome. Applicheremo quindi un filtro sui campi interessati (Range A3 : O3). Mi limiterò alla spiegazione della semplice routine per l'applicazione di un filtro, mentre la selezione della chiave di filtrazione la faremo manualmente, scegliendo di volta in volta, nel campo mese, il mese che ci interessa (chi desidera vedere come richiedere tramite codice vba la chiave di ricerca, può dare un'occhiata agli articoli "Filtrare Date col vba" e "Filtrare Dati col vba", presenti sul sito ennius.interfree.it). Questa routine, associata ad un pulsante, funziona come metti/togli: un click per inserire il filtro, un click per toglierlo:
Proseguendo, dopo aver applicato il filtro e scelto dal campo "mese" la voce "Settembre", ci troveremo con la nostra tabella filtrata, così: A questo punto applicheremo le istruzioni per ottenere i SubTotali. Io suggerisco di usare due routine, una per ottenere i subtotali, ed una per rimuoverli. Invito i "pellegrini" a scoprire da soli come ottenerli, andando sul menù Dati/SubTotali e provare cambiando le opzioni presenti nella finestra che si apre, in modo da ottenere i subtotali che vorrete; se poi ripeterete tutto attivando il "registratore di macro", scoprirete anche il codice vba che excel genera su ciò che farete. Comunque proseguiamo con l'esercizio, vedendo le due routine e relative spiegazioni, che non sono difficili:
E questo l'effetto della routine soprastante: E questa la routine per togliere i subtotali:
Buon lavoro. prelevato sul sito www.ennius.altervista.org |