Skip to main content

如何檢查 Excel 工作表中是否已套用篩選器?

Author: Siluvia Last Modified: 2025-08-06

對於包含大量數據的工作表,是否可以檢查指定列或整個工作表是否已套用篩選,而無需逐一檢查每一列?本教程將向您展示兩個 VBA 程式碼來處理此任務。

檢查特定列是否已套用篩選器
檢查工作表中是否已套用篩選器


檢查特定列是否已套用篩選器

要檢查某列是否已篩選,本節中的 VBA 程式碼可以幫助您。

1. 打開您要檢查的特定列是否已套用篩選器的工作表。

2. 按下 Alt + F11 鍵以打開 Microsoft Visual Basic for Applications 視窗。

3. 在 Microsoft Visual Basic for Applications 視窗中,點擊 插入 > 模組,然後將以下 VBA 程式碼複製到模組(程式碼)視窗中。

copy and paste the code into the module

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 程式碼中,這一行 “xColumn = 3” 中的數字 3 代表當前工作表中的第三列。如果您想檢查 E 列 是否已套用篩選器,請將數字 3 改為 5

4. 按下 F5 鍵執行程式碼。

如果指定列已篩選,將會彈出以下對話框。

If the specified column is filtered, a dialog box popps out

否則,您將看到以下對話框。

If the specified column isn't filtered, another dialog box popps out

a screenshot of kutools for excel ai

使用 Kutools AI 解鎖 Excel 的魔法

  • 智能執行:執行單元格操作、分析數據並創建圖表——所有這些都由簡單的指令驅動。
  • 自訂公式:生成量身定制的公式,簡化您的工作流程。
  • VBA 編碼:輕鬆編寫和實現 VBA 代碼。
  • 公式解釋:輕鬆理解複雜的公式。
  • 文本翻譯:打破電子表格中的語言障礙。
通過人工智能工具增強您的 Excel 能力。立即下載,體驗前所未有的效率!

檢查工作表中是否已套用篩選器

如果您想檢查工作表中是否已套用篩選器,請嘗試本節中的 VBA 程式碼。

1. 打開您要檢查是否已套用篩選器的工作表。

2. 按下 Alt + F11 鍵以打開 Microsoft Visual Basic for Applications 視窗。

3. 在 Microsoft Visual Basic for Applications 視窗中,點擊 插入 > 模組,然後將以下 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 鍵執行此程式碼,如果工作表包含篩選,您將看到如下對話框。

if the worksheet contains filtering, a dialog box popps out

否則,您將看到以下對話框。

if the worksheet doesn't contain filtering, another dialog box popps out

最佳 Office 辦公效率工具

🤖 Kutools AI Aide:徹底革新數據分析,基於智能執行|生成程式碼|創建自訂公式|分析數據並生成圖表|調用 Kutools Functions
熱門功能查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不丟失資料 | 四捨五入...
高級 LOOKUP多條件查找|多值查找|多表查找|模糊查找...
高級下拉列表快速創建下拉列表 | 關聯下拉列表 | 多選下拉列表 ...
列管理器添加指定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 區域與列比較 ...
精選功能網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫 (自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線 ...)...
前15 大工具集12 款文本工具添加文本刪除特定字符,...)|50+ 種圖表 類型甘特圖,...)|40+ 實用 公式基於生日計算年齡,...)|19 款插入工具插入QR码按路徑插入圖片,...)|12 款轉換工具金額轉大寫匯率轉換,...)|7 款合併和分割工具高級合併行分割儲存格,...)| ...以及更多
使用 Kutools 支援你的語言——支援英語、西班牙語、德語、法語、中文及40 多種語言!

利用 Kutools for Excel 大幅提升你的 Excel 技能,感受前所未有的高效體驗。 Kutools for Excel 提供超過300 項高級功能,助你提升效率並保存時間。 點此查看你最需要的功能...


Office Tab 為 Office 帶來標籤式介面,讓你的工作更加輕鬆

  • 啟用 Word、Excel、PowerPoint 的標籤式編輯和閱讀功能
  • 在同一個視窗的標籤中打開和創建多個文件,而不是在新窗口中分開開啟。
  • 可提升你50% 的工作效率,每天為你大量減少滑鼠點擊次數!