Quando si attiva il filtro in un elenco di fogli di lavoro Excel, o se si crea una tabella Excel con nome, ogni cella nella riga di intestazione mostra automaticamente una freccia a discesa. Se non ne hai bisogno, ecco come puoi nascondere le frecce in Excel AutoFilter.
Excel AutoFilter Arrows
Nella riga di intestazione, un pulsante freccia AutoFilter mostra un’icona di filtro, se hai filtrato quella colonna. Se indichi una freccia con un’icona di filtro, un Tool Tip pop-up mostra i criteri del filtro.
Nello screenshot qui sotto, la colonna Customer è stata filtrata per mostrare 3 clienti specifici – FoodMart, MegaStore e VegiVille.
Opzioni freccia autofiltro
Per un filtro automatico, hai tre opzioni per la visualizzazione della freccia:
- Lascia tutte le frecce in mostra
- Rimuovi il filtro automatico, che rimuove tutte le frecce
- Usa la programmazione per nascondere una o più frecce.
Rimuovere manualmente il filtro automatico
Per un elenco di fogli di lavoro o una tabella con nome, è possibile attivare e disattivare manualmente il filtro automatico, che mostra o nasconde anche i pulsanti freccia.
- Fare clic su qualsiasi cella nell’intervallo filtrato
- Sulla barra multifunzione di Excel, fare clic sulla scheda Dati
- fare clic sul pulsante Filtro.
Nascondi le frecce del filtro automatico con la macro
Prima che gli elenchi e le tabelle con nome fossero aggiunti a Excel, ci poteva essere solo un filtro automatico per foglio di lavoro.
Ora, oltre al filtro automatico per foglio di lavoro singolo, è possibile inserire più tabelle con nome in un foglio. Ognuna di queste tabelle ha la sua proprietà AutoFilter.
Ci sono esempi di codice qui sotto, per nascondere le frecce in un AutoFilter per liste e un AutoFilter per fogli di lavoro. Ci sono altri esempi di AutoFilter VBA sul mio sito Contextures:
- Excel Worksheet AutoFilter VBA
- Excel List AutoFilter VBA
Hide List AutoFilter Arrows With VBA
Se volete lasciare visibili una o più frecce, ma nascondere le altre, potete usare una macro.
In questo esempio, solo la seconda colonna avrà una freccia, e tutte le altre frecce saranno nascoste.
Questo codice è progettato per una tabella con nome, che ha la sua proprietà AutoFilter. Ci possono essere più tabelle nominate in un foglio di lavoro, e le impostazioni di AutoFilter di ogni tabella possono essere diverse.
Sub HideArrowsList1()'hides all arrows except list 1 column 2Dim Lst As ListObjectDim c As RangeDim i As IntegerApplication.ScreenUpdating = FalseSet Lst = ActiveSheet.ListObjects(1)i = 1For Each c In Lst.HeaderRowRange If i <> 2 Then Lst.Range.AutoFilter Field:=i, _ VisibleDropDown:=False Else Lst.Range.AutoFilter Field:=i, _ VisibleDropDown:=True End If i = i + 1NextApplication.ScreenUpdating = TrueEnd Sub
Nascondi le frecce di AutoFilter del foglio di lavoro con VBA
Per nascondere le frecce di AutoFilter di una tabella del foglio di lavoro, il codice è leggermente diverso.
C’è solo un AutoFiltro del foglio di lavoro in un foglio di lavoro, e in questo esempio, l’elenco filtrato inizia nella cella A1.
La seguente procedura nasconde le frecce per tutte le colonne eccetto la colonna B.
Sub HideArrows()'hides all arrows except column 2Dim c As RangeDim i As Integeri = Cells(1, 1).End(xlToRight).ColumnApplication.ScreenUpdating = FalseFor Each c In Range(Cells(1, 1), Cells(1, i)) If c.Column <> 2 Then c.AutoFilter Field:=c.Column, _ Visibledropdown:=False End IfNextApplication.ScreenUpdating = TrueEnd Sub
Utilizzare le macro Nascondi Frecce
Per usare queste macro, copiatele in un normale modulo di codice nella vostra cartella di lavoro. Ci sono le istruzioni qui.
Dovreste eseguire il codice solo una volta, dopo aver impostato la lista filtrata. Per eseguire il codice,
- Fate clic sulla scheda Visualizza sulla barra multifunzione di Excel
- All’estrema destra della scheda, fate clic sul comando Macro (fate clic sull’immagine in cima al comando)
- Nell’elenco delle macro, fate clic sulla macro che volete eseguire
- Fate clic sul pulsante Esegui.