Microsoft Excel include alcuni ottimi strumenti che ti aiutano a filtrare tabelle di dati di grandi dimensioni per includere solo le informazioni che desideri visualizzare. In effetti, i filtri ti consentono di “suddividere in sezioni” i tuoi dati finché non ottieni esattamente ciò che desideri.

Quando si stampano dati filtrati, si potrebbe voler sapere che cosa è stato fatto per affettare e sminuzzare i dati originali. Esistono diversi modi per visualizzare i criteri di filtro. Un modo semplice consiste nell’utilizzare le funzionalità di filtro avanzate di Excel, che richiedono l’impostazione di una piccola tabella dei criteri per i dati. Se la tabella dei criteri fa parte di ciò che si stampa, è possibile visualizzare i criteri di filtro abbastanza facilmente.

Se utilizzi il filtro automatico, devi utilizzare un approccio diverso. Uno di questi approcci è descritto in dettaglio nel sito di John Walkenbach:

http://j-walk.com/ss/excel/usertips/tip044.htm

Questa soluzione utilizza una funzione definita dall’utente per restituire qualsiasi criterio di filtro in uso nella colonna corrente. La funzione può essere utilizzata in una cella, in quella colonna, per visualizzare i criteri. Se utilizzi il filtro avanzato, l’approccio macro è un po ‘più complesso. Le seguenti macro (ce ne sono due nell’elenco) esaminano i criteri avanzati in gioco, quindi posizionano i criteri nella parte sinistra dell’intestazione.

Sub AddFilterCriteria()

Dim strCriteria As String

strCriteria = FilterCriteria()

If strCriteria = "" Then         strCriteria = "No Filtering Criteria"

Else         strCriteria = "Filter Criteria:" & Chr(10) & strCriteria     End If

'   add Criteria string to Header/Footer     With ActiveSheet.PageSetup         .LeftHeader = strCriteria     End With End Sub

Function FilterCriteria() As String     Dim rngCriteria As Range, col As Range, cel As Range     Dim strCriteria As String, r As Integer, c As Integer     Const strCriteriaRange As String = "Criteria"



FilterCriteria = ""



On Error Resume Next     'Set Criteria-Range reference     Set rngCriteria = Range(strCriteriaRange)

If Err <> 0 Then Exit Function     On Error GoTo 0

'   Create Criteria String     c = 0     For Each col In rngCriteria.Columns         c = c + 1     ' CriteriaRange Columns         r = 1         ' CriteriaRange Rows         For Each cel In col.Cells             If r = 1 Then                 strCriteria = strCriteria & "Criteria" _                   & c & " (" & cel.Value & ") = "

Else                 strCriteria = strCriteria & "'" & cel.Value & "'"

If IsEmpty(cel.Offset(1, 0)) Then                     'Add New row Char if not Last Criteria Column                     If c < rngCriteria.Columns.Count Then                         strCriteria = strCriteria & Chr(10)

End If                     Exit For                 End If                 strCriteria = strCriteria & "  "

End If             r = r + 1         Next cel    ' next criteria row     Next col        ' next criteria column

FilterCriteria = strCriteria End Function

Per utilizzare la macro, è sufficiente eseguire la macro AddFilterCriteria, dopo aver impostato il filtro avanzato. La macro legge la tabella dei criteri e riunisce i criteri in una stringa che viene inserita nell’intestazione di sinistra.

_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 (3248) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: