How to check if a filter is applied in a worksheet in Excel?
For a worksheet contains a large amount of data, is it possible to check if filtering is applied in a specified column or in the entire worksheet without manually check for the columns one by one? In this tutorial, we will show you two VBA codes to handle this task.
Check if a filter is applied in a certain column
Check if a filter is applied in a worksheet
Check if a filter is applied in a certain column
To check if a certain column is filtered, the VBA code in this section can do you a favor.
1. Open the worksheet you want to check if a filter is applied in a certain column.
2. Press the Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
3. In the Microsoft Visual Basic for Applications window, click Insert > Module, and then copy the following VBA code in the Module (Code) window.
VBA code: Check whether a specified column is filtered
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: In the VBA code, the number 3 in this line “xColumn = 3” stands for the third column in the current worksheet. If you want to check if a filter is applied in column E, change the number 3 to 5.
4. Press the F5 key to run the code.
If the specified column is filtered, the following dialog box will pop up.
Otherwise, you will get the following dialog box.
Check if a filter is applied in a worksheet
If you want to check if a filter is applied in a worksheet, try the VBA code in this section.
1. Open the worksheet you want to check if a filter is applied.
2. Press the Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
3. In the Microsoft Visual Basic for Applications window, click Insert > Module, and then copy the following VBA code in the Module (Code) window.
VBA code: Check if a filter is applied in a worksheet
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. Then, press F5 key to run this code, if the worksheet contains filtering, you will get a dialog box as follows.
Otherwise, you will get the following dialog box.
Best Office Productivity Tools
Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time. Click Here to Get The Feature You Need The Most...
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!