Note: The other languages of the website are Google-translated. Back to English

如何清除Excel中活動工作簿中所有工作表中的篩選器?

假設您已經在Excel工作簿中的不同工作表上創建了多個篩選器,現在您想一次清除所有這些篩選器。 通常,您需要一張一張地移至工作表以檢查過濾器,然後手動清除它。 有什麼便捷的方法可以清除活動工作簿中所有工作表中的篩選器? 請嘗試本文中的方法。

使用VBA代碼清除活動工作簿中所有工作表中的篩選器


使用VBA代碼清除活動工作簿中所有工作表中的篩選器

請運行下面的VBA腳本,以清除活動工作簿中所有工作表中的篩選器。

1.在工作簿中,您需要清除過濾器,請按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2。 在裡面 Microsoft Visual Basic for Applications 窗口中,單擊 插入 > 模塊。 然後將下面的VBA腳本複制並粘貼到“模塊”窗口中。 見下面的截圖:

VBA代碼:清除活動工作簿中所有工作表中的過濾器

Sub Clear_fiter()()
'Updated by Extendoffice 20210625
    Dim xAF As AutoFilter
    Dim xFs As Filters
    Dim xLos As ListObjects
    Dim xLo As ListObject
    Dim xRg As Range
    Dim xWs As Worksheet
    Dim xIntC, xF1, xF2, xCount As Integer
    Application.ScreenUpdating = False
    On Error Resume Next
    For Each xWs In Application.Worksheets
        xWs.ShowAllData
        Set xLos = xWs.ListObjects
        xCount = xLos.Count
        For xF1 = 1 To xCount
         Set xLo = xLos.Item(xF1)
         Set xRg = xLo.Range
         xIntC = xRg.Columns.Count
         For xF2 = 1 To xIntC
            xLo.Range.AutoFilter Field:=xF2
         Next
        Next
    Next
    Application.ScreenUpdating = True

End Sub

3。 按 F5 鍵來運行代碼。 然後,將立即清除當前工作簿中所有工作表中的所有篩選器。


相關文章:


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (11)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
你他媽的渣男,這把我們所有的過濾器都刪了! 由於花費了我們幾個小時,我們的整個 python 腳本被破壞了! 去地獄你們這些人渣!!!!!!!!!!!!!!!!
網站主持人對此評論進行了最小化
嗨,
對不起這個錯誤。 代碼已在帖子中更新,僅清除過濾器而不是刪除它們。 請試一試,不便之處敬請見諒。
網站主持人對此評論進行了最小化
為什麼在處理最新文件之前不對其進行全面測試,並且沒有備份……在使用苛刻的語言之前先處理您的 IT 習慣。
網站主持人對此評論進行了最小化
你得到了免費的幫助,卻因為你自己的愚蠢錯誤而貶低了別人。 像你這樣的人應該在地獄裡有一個特別的地方
網站主持人對此評論進行了最小化
這會刪除所有過濾器,我想要一些可以清除過濾器而不是刪除它們的東西。
網站主持人對此評論進行了最小化
嗨賽馬,我明白你的意思。 代碼已在帖子中更新,僅清除過濾器而不是刪除它們。 請試一試,不便之處敬請見諒。 子 Auto_Open()
'更新者 Extendoffice 20201113
將 xAF 調暗為自動過濾器
將 xFs 調暗為過濾器
將 xLos 調暗為 ListObjects
將 xLo 調暗為 ListObject
將 xRg 調暗為範圍
將 xWs 調暗為工作表
暗淡 xIntC, xF1, xF2, xCount As Integer
Application.ScreenUpdating = False
在錯誤恢復下一頁
對於 Application.Worksheets 中的每個 xW
xWs.ShowAllData
設置 xLos = xWs.ListObjects
xCount = xLos.Count
對於 xF1 = 1 到 xCount
設置 xLo = xLos.Item(xF1)
設置 xRg = xLo.Range
xIntC = xRg.Columns.Count
對於 xF2 = 1 到 xIntC
xLo.Range.AutoFilter 字段:=xF2
下一頁
下一頁
下一頁
Application.ScreenUpdating = True

END SUB
網站主持人對此評論進行了最小化
謝謝這對我有很大幫助;=)
網站主持人對此評論進行了最小化
嗨,每次我打開文件時宏都會運行並清除過濾器,如何避免宏的“自動運行”?
網站主持人對此評論進行了最小化
嗨,胡安·莫雷諾,
我很抱歉我的錯誤。替換第一行:
子 Auto_Open()子清除過濾器()與解決問題。
網站主持人對此評論進行了最小化
我應該更改哪一行以將宏限制為僅活動工作表,而不是所有工作表?非常感謝!
網站主持人對此評論進行了最小化
@Lorif - 刪除 Application.Worksheets 中的每個 xWs 和 Nexts 之一
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護