Как проверить, применяется ли фильтр на листе в Excel?
Если рабочий лист содержит большой объем данных, можно ли проверить, применяется ли фильтрация к указанному столбцу или ко всему рабочему листу, без ручной проверки столбцов по одному? В этом руководстве мы покажем вам два кода VBA для решения этой задачи.
Проверить, применяется ли фильтр в определенном столбце
Проверьте, применяется ли фильтр на листе
Проверить, применяется ли фильтр в определенном столбце
Чтобы проверить, отфильтрован ли определенный столбец, код VBA в этом разделе может оказать вам услугу.
1. Откройте рабочий лист, который вы хотите проверить, применяется ли фильтр в определенном столбце.
2. нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
3. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули, а затем скопируйте следующий код VBA в окно модуля (код).
Код VBA: проверьте, фильтруется ли указанный столбец
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
Внимание: В коде VBA число 3 в этой строке»хКолонка = 3” обозначает третий столбец на текущем листе. Если вы хотите проверить, применяется ли фильтр в столбец Е, изменить номер 3 в 5.
4. нажмите F5 ключ для запуска кода.
Если указанный столбец отфильтрован, появится следующее диалоговое окно.
В противном случае вы получите следующее диалоговое окно.
Проверьте, применяется ли фильтр на листе
Если вы хотите проверить, применяется ли фильтр к рабочему листу, попробуйте код VBA в этом разделе.
1. Откройте рабочий лист, который вы хотите проверить, применяется ли фильтр.
2. нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
3. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули, а затем скопируйте следующий код VBA в Модуль (код) окно.
Код VBA: проверьте, применяется ли фильтр на листе
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. Затем нажмите F5 ключ для запуска этого кода, если рабочий лист содержит фильтрацию, вы получите диалоговое окно, как показано ниже.
В противном случае вы получите следующее диалоговое окно.
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!