Jak sprawdzić, czy filtr jest zastosowany w arkuszu kalkulacyjnym w programie Excel?
Czy w przypadku arkusza zawierającego dużą ilość danych można sprawdzić, czy filtrowanie jest stosowane w określonej kolumnie, czy w całym arkuszu bez ręcznego sprawdzania kolumn pojedynczo? W tym samouczku pokażemy dwa kody VBA do obsługi tego zadania.
Sprawdź, czy w określonej kolumnie zastosowano filtr
Sprawdź, czy w arkuszu zastosowano filtr
Sprawdź, czy w określonej kolumnie zastosowano filtr
Aby sprawdzić, czy dana kolumna jest filtrowana, kod VBA w tej sekcji może ci wyświadczyć przysługę.
1. Otwórz arkusz, w którym chcesz sprawdzić, czy w określonej kolumnie zastosowano filtr.
2. wciśnij inny + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.
3. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł, a następnie skopiuj następujący kod VBA w oknie Moduł (Kod).
Kod VBA: Sprawdź, czy określona kolumna jest filtrowana
Sub IsFilter()
'Updated by Extendoffice 20221025
Dim xWSht As Worksheet
Dim xFNum As Integer
Dim xBol As Boolean
Dim xAF As AutoFilter
Dim xColumn As Integer
xColumn = 3 'Here the number 3 stands for the third column (column C) in the current worksheet
Set xWSht = Application.ActiveSheet
Set xAF = xWSht.AutoFilter
xBol = False
For xFNum = 1 To xAF.Filters.Count
If xAF.Filters(xFNum).On And xAF.Range(1, xFNum).Column = xColumn Then
xBol = True
End If
Next xFNum
If xBol Then
MsgBox "The specified column is filled"
Else
MsgBox "The specified column is not filled"
End If
End Sub
Note: W kodzie VBA liczba 3 w tym wierszu „xKolumna = 3” oznacza trzecią kolumnę w bieżącym arkuszu. Jeśli chcesz sprawdzić, czy filtr jest zastosowany w kolumna E, zmień numer 3 do 5.
4. wciśnij F5 klucz do uruchomienia kodu.
Jeśli określona kolumna jest filtrowana, pojawi się następujące okno dialogowe.
W przeciwnym razie pojawi się następujące okno dialogowe.
Sprawdź, czy w arkuszu zastosowano filtr
Jeśli chcesz sprawdzić, czy w arkuszu zastosowano filtr, wypróbuj kod VBA w tej sekcji.
1. Otwórz arkusz, w którym chcesz sprawdzić, czy zastosowano filtr.
2. wciśnij inny + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.
3. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł, a następnie skopiuj następujący kod VBA w pliku Moduł (kod) okno.
Kod VBA: Sprawdź, czy w arkuszu zastosowano filtr
Sub IsFilterInWorkSheet()
'Updated by Extendoffice 20221024
Dim xWSht As Worksheet
Dim xFNum As Integer
Dim xBol As Boolean
Dim xAF As AutoFilter
Dim xColumn As Integer
Set xWSht = Application.ActiveSheet
Set xAF = xWSht.AutoFilter
xBol = False
On Error Resume Next
For xFNum = 1 To xAF.Filters.Count
If xAF.Filters(xFNum).On Then
xBol = True
Exit For
End If
Next xFNum
If xBol Then
MsgBox "Filter is applied in the curren worksheet"
Else
MsgBox "Filter does not apply in the current worksheet"
End If
End Sub
4. Następnie naciśnij F5 aby uruchomić ten kod, jeśli arkusz zawiera filtrowanie, pojawi się następujące okno dialogowe.
W przeciwnym razie pojawi się następujące okno dialogowe.
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!