Gdy włączasz filtr na liście arkuszy Excela lub tworzysz nazwaną tabelę Excela, każda komórka w wierszu nagłówka automatycznie pokazuje strzałkę rozwijaną. Jeśli ich nie potrzebujesz, oto jak możesz ukryć strzałki w AutoFiltrze Excela.
Strzałki AutoFiltru Excela
W wierszu nagłówka przycisk strzałki AutoFiltru pokazuje ikonę filtra, jeśli filtrowanie tej kolumny zostało włączone. Jeśli wskażesz strzałkę z ikoną filtra, wyskakująca podpowiedź narzędzia pokaże kryteria filtrowania.
Na poniższym zrzucie ekranu kolumna Klient została przefiltrowana, aby pokazać 3 określonych klientów – FoodMart, MegaStore i VegiVille.
Opcje strzałek AutoFiltra
Dla AutoFiltra masz trzy opcje wyświetlania strzałek:
- Pozostaw wszystkie strzałki wyświetlone
- Usuń AutoFiltr, który usuwa wszystkie strzałki
- Użyj programowania, aby ukryć jedną lub więcej strzałek.
Ręczne usuwanie filtra automatycznego
W przypadku listy arkuszy lub tabeli nazwanej można ręcznie włączać i wyłączać filtr automatyczny, który również pokazuje lub ukrywa przyciski strzałek.
- Kliknij dowolną komórkę w filtrowanym zakresie
- Na wstążce programu Excel kliknij kartę Dane
- Kliknij przycisk Filtr.
Ukryj strzałki AutoFiltra za pomocą makra
Przed dodaniem list i tabel nazwanych do Excela w każdym arkuszu mógł znajdować się tylko jeden AutoFiltr.
Teraz, oprócz AutoFiltra pojedynczego arkusza, można umieścić w arkuszu wiele tabel nazwanych. Każda z tych tabel ma swoją własną właściwość AutoFilter.
Poniżej znajdują się przykłady kodu do ukrywania strzałek w AutoFiltrze listy i AutoFiltrze arkusza. Więcej przykładów AutoFiltra VBA znajduje się na mojej stronie Contextures:
- Excel Worksheet AutoFilter VBA
- Excel List AutoFilter VBA
Hide List AutoFilter Arrows With VBA
Jeśli chcesz pozostawić jedną lub więcej strzałek widocznych, ale ukryć pozostałe, możesz użyć makra.
W tym przykładzie tylko druga kolumna będzie miała strzałkę, a wszystkie pozostałe strzałki będą ukryte.
Ten kod jest przeznaczony dla tabeli nazwanej, która posiada własną właściwość AutoFiltr. W arkuszu może znajdować się wiele tabel nazwanych, a ustawienia filtra AutoFiltr każdej z nich mogą być inne.
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
Ukryj strzałki filtra AutoFiltr arkusza za pomocą VBA
Aby ukryć strzałki filtra AutoFiltr tabeli arkusza, kod jest nieco inny.
W arkuszu może być tylko jeden filtr AutoFiltr arkusza, a w tym przykładzie filtrowana lista zaczyna się w komórce A1.
Poniższa procedura ukrywa strzałki dla wszystkich kolumn oprócz kolumny 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
Użyj makra ukrywającego strzałki
Aby użyć tych makr, skopiuj je do zwykłego modułu kodu w swoim skoroszycie. Instrukcje znajdują się tutaj.
Kod trzeba będzie uruchomić tylko raz, po ustawieniu filtrowanej listy. Aby uruchomić kod,
- Kliknij kartę Widok na wstążce Excela
- Po prawej stronie karty kliknij polecenie Makra (kliknij obrazek u góry polecenia)
- Na liście makr kliknij makro, które chcesz uruchomić
- Kliknij przycisk Uruchom.