David ha molte tabelle pivot che vengono filtrate per anno. Nei suoi dati è presente un campo separato per l’anno (valori 2016, 2017, 2018, ecc., Derivati ​​tramite la funzione Anno). Nella maggior parte dei casi esclude gli anni più vecchi e riporta gli anni più recenti. Quando arriva un nuovo anno, è un processo noioso per David modificare ogni tabella pivot e selezionare l’anno più recente. Si chiede se esiste un modo per specificare i valori di selezione per un filtro di tabella pivot in modo da non dover passare attraverso la noiosa modifica.

Forse il modo più semplice per farlo sarebbe aggiungere una singola colonna ai dati di origine per la tabella pivot. La colonna potrebbe contenere una semplice formula che indica se la riga è compresa nell’intervallo desiderato per l’inclusione nella tabella pivot. Ad esempio, se la colonna A contiene la data della transazione per la riga, allora potresti includere quanto segue nella colonna aggiunta:

=YEAR(A2)>YEAR(NOW())-3

Il risultato della formula è Vero o Falso, a seconda che la transazione sia avvenuta nei tre anni precedenti o meno. Pertanto, se questa formula viene valutata nel 2018, tutte le transazioni all’interno del 2016, 2017 e 2018 restituiranno True; tutti gli altri sarebbero falsi. Quindi, all’interno della definizione della tabella pivot è possibile filtrare in base al contenuto di questa particolare colonna, assicurandosi così che solo quelle righe True siano incluse nella tabella pivot.

Se si preferisce una soluzione basata su macro, è possibile svilupparne facilmente una che esamini ciascuna delle tabelle pivot e abbia cambiato il campo pivot denominato “Anno”

in modo che fosse uguale a un anno desiderato. Quanto segue mostra quanto sia facile fare un tale cambiamento:

Sub ChangePivotYear()

Dim sht As Worksheet     Dim pvt As PivotTable     Dim iYear as Integer

iYear = 2018     ' Change to desired year     For Each sht In Worksheets         For Each pvt In sht.PivotTables             pvt.PivotFields("Year").ClearAllFilters             pvt.PivotFields("Year").CurrentPage = iYear        Next pvt     Next sht End Sub

La macro imposta il campo al 2018; se si desidera utilizzare un anno diverso, è sufficiente modificare ciò che è assegnato alla variabile Anno. Si noti inoltre che la macro influisce su tutte le tabelle pivot dell’intera cartella di lavoro.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (12571) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.