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

 如何在Excel中將同一過濾器應用於多個工作表?

應用“過濾器”功能來過濾工作表中的數據可能很容易,但是有時,您可能需要跨多個工作表進行過濾,這些工作表具有相同的數據格式並具有相同的過濾條件。 逐個過濾它們會浪費很多時間,在這裡,我可以介紹一種簡單的方法來立即解決它。

使用VBA代碼將相同的過濾器應用於多個工作表


箭頭藍色右氣泡 使用VBA代碼將相同的過濾器應用於多個工作表

例如,我有四個工作表,下面的屏幕截圖需要使用與Product = KTE相同的條件進行過濾。

doc過濾多張紙1

沒有直接的方法可以在Excel中過濾多個工作表中的數據,但是下面的VBA代碼可以幫助您完成此工作,請執行以下操作:

1。 按住 ALT + F11 鍵,然後打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下代碼粘貼到 模塊 窗口。

VBA代碼:將相同的過濾器應用於多個工作表:

Sub apply_autofilter_across_worksheets()
'Updateby Extendoffice
    Dim xWs As Worksheet
    On Error Resume Next
    For Each xWs In Worksheets
        xWs.Range("A1").AutoFilter 1, "=KTE"
    Next
End Sub

3。 然後按 F5 是運行此代碼的關鍵,所有工作表中的KTE所有產品均已被過濾掉,請參見屏幕截圖:

doc過濾多張紙2

備註:在上面的代碼中,在此 xWs.Range(“ A1”)。AutoFilter 1,“ = KTE” 腳本, A1= KTE 表示要作為過濾依據的列和條件,數字1為要作為過濾依據的列號,您可以根據需要進行更改。 例如,如果要過濾大於50的訂單,則只需要按以下方式修改此腳本: xWs.Range(“ B1”)。AutoFilter 2,“ >> 50”.


根據多個條件或其他特定條件(例如,文本長度,區分大小寫等)過濾數據。

Excel的Kutools超級濾鏡 該功能是一個功能強大的實用程序,您可以應用此功能來完成以下操作:

  • 使用多個條件過濾數據; 按文本長度過濾數據;
  • 按大小寫過濾數據; 按年/月/日/週/季度過濾日期

文檔超級過濾器1

Excel的Kutools:具有300多個方便的Excel加載項,可以在30天內免費試用,沒有任何限制。 立即下載並免費試用!


最佳辦公效率工具

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底部
按評論排序
留言 (41)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
您如何將此過濾器公式應用於一系列工作表? 我有一個工作簿,其中包含前 5 張工作表上的數據,工作簿有 200 張工作表,我只需要將過濾器應用於工作表 6-200。 Sub apply_autofilter_across_worksheets() '更新方式 Extendoffice 20160623 Dim xWs As Worksheet On Error Resume Next For Each xWs in Worksheets xWs.Range("A1").AutoFilter 1, "=KTE" Next End Sub
網站主持人對此評論進行了最小化
Sub apply_autofilter_across_worksheets() Dim J As integer On Error Resume Next For J = 6 to Worksheets(worksheets.count) Thisworkbook.Sheets(J).Range("A1").Autofilter 1, "=KTE" Next End Sub
網站主持人對此評論進行了最小化
親愛的,我想過濾多個值,我使用了這個 xWs.Range("B1").AutoFilter 2, "=223AM", xlOr, "=113IR", xlOr, "=003IR" 並且它有效但是當我將所需值增加到 >2 會發生錯誤。 這個命令我使用 xWs.Range("B1").AutoFilter 2, "=223AM", xlOr, "=113IR", xlOr, "=003IR", xlOr, "=019IR", xlOr, "=311IR", xlOr , "=518ZA", xlOr, "=223AM", xlOr, "=592IR" 謝謝,
網站主持人對此評論進行了最小化
在多張紙中過濾單個單詞時,它不顯示過濾後的數據....所有數據都被隱藏。請解決這個問題。
網站主持人對此評論進行了最小化
嗨,


我的數據在 E 列中,當我使用 Range("E1") 應用此過濾器時,它仍會過濾 A 列


如何進行故障排除?
謝謝
網站主持人對此評論進行了最小化
您只需在 AutoFilter 中寫入列號,在這種情況下:xWs.Range("E1").AutoFilter 5,
網站主持人對此評論進行了最小化
謝謝!!!!
網站主持人對此評論進行了最小化
刪除列 A LOL
網站主持人對此評論進行了最小化
如果過濾器位於每張紙的不同列上,如何執行?
網站主持人對此評論進行了最小化
如何使用自動過濾器的結果為每個其他工作表設置過濾器,而不是使用 =(特定名稱)
網站主持人對此評論進行了最小化
如果所有數據透視表都來自相同的數據源並使用相同的條件進行設置,我可以使用它來過濾多個工作表中的數據透視表嗎?
網站主持人對此評論進行了最小化
有沒有按顏色過濾的選項?
網站主持人對此評論進行了最小化
嗨,馬赫什,
如果你想按顏色過濾數據,可能下面兩篇文章可以幫到你! 請查看它們,希望它可以幫助你!

https://www.extendoffice.com/documents/excel/912-excel-filter-by-cell-color.html
https://www.extendoffice.com/documents/excel/3383-excel-filter-by-multiple-colors.html
網站主持人對此評論進行了最小化
嗨,


如果 Product 列出現在其他工作表的不同位置,這是如何工作的?


在 sheet1 中,它是 sheet1 中的 A2,它在 B1 中,而在 sheet3 中,它又是 A1 嗎?

謝謝,
莫妮卡
網站主持人對此評論進行了最小化
有沒有辦法使用基於工作表名稱的包含過濾器更改每個工作表的“=KTE”部分?
網站主持人對此評論進行了最小化
謝謝你的代碼!! 有沒有辦法將“=KTE”更改為使用列表或下拉列表中的值?
網站主持人對此評論進行了最小化
嗨,每當有文件更新時,整個工作簿的超級過濾器是否會自動重新應用?
網站主持人對此評論進行了最小化
我們可以在 xWs.Range("A1").AutoFilter 1, "=KTE" 中使用像 Product 這樣的單元格名稱而不是 A1
我有不同的列,一些名稱出現在不同的列中。
網站主持人對此評論進行了最小化
我在每張紙上都使用了過濾器。 我想在過濾後的每張紙中將 s.no 從 1 2 3 連續更改。


如果您有 vba 代碼,請告訴我
網站主持人對此評論進行了最小化
對於相同的多張紙,如何使用“過濾器之間”功能?

(例如:時間範圍)
網站主持人對此評論進行了最小化
如何消除過濾的行?
網站主持人對此評論進行了最小化
親,

如何過濾多個條件?
例如,我想按 50 以上的順序過濾,但只過濾 KTE 產品。

謝謝你在前進。
網站主持人對此評論進行了最小化
你好,佩賈,
要根據兩個條件過濾多個工作表,請應用以下代碼:
子 apply_autofilter_across_worksheets()

'更新通過 Extendoffice

將 xWs 調暗為工作表

在錯誤恢復下一頁

對於工作表中的每個 xW

使用 xWs.Range("A1")

.AutoFilter Field:=1, Criteria1:="KTE" 'A列等於“KTE”

.AutoFilter Field:=2, Criteria1:=">500" 'B列大於500

結束

下一頁

END SUB

請嘗試,希望對您有所幫助!
網站主持人對此評論進行了最小化
即使我用 G1 替換 A1,它也會使過濾器在 A1 列上出現凹坑
網站主持人對此評論進行了最小化
你好,譚,
您只需將 A1 替換為 G1,同時將第 1 列更改為第 7 列,如下代碼:
xWs.Range("G1").AutoFilter 7, "=KTE"
請嘗試,謝謝!
網站主持人對此評論進行了最小化
你好,
是否可以根據列名而不是數字進行過濾(因為我的數據在不同工作表的不同列中)?
謝謝曼努埃拉
網站主持人對此評論進行了最小化
我想用相同的條件“KTE”進行過濾,但如果它沒有出現在工作表中就不會顯示任何數據。
網站主持人對此評論進行了最小化
,您好!
我想要基於單元格值而不是“KTE”的過濾條件,這可能嗎???
網站主持人對此評論進行了最小化
您好,Hemraj,要根據特定單元格值而不是固定文本過濾數據,請應用以下代碼: 子 apply_autofilter_across_worksheets()
'更新通過 Extendoffice
將 xWs 調暗為工作表
在錯誤恢復下一頁
對於工作表中的每個 xW
xWs.Range("A1").AutoFilter 1, Sheet1.Range("E2")
下一頁
END SUB備註: 請換 Sheet1E2 在此範圍內 Sheet1.Range("E2") 腳本到您自己的工作表和單元格值。請嘗試,希望它可以幫助您!
網站主持人對此評論進行了最小化
嗨,天陽,
感謝您的寶貴和 Fabulous 支持,我嘗試使用相同的公式,但它沒有工作可能是什麼原因。 以下是我用於我的 excel 表的代碼。
子 apply_autofilter_across_worksheets()
'更新通過 Extendoffice
將 xWs 調暗為工作表
在錯誤恢復下一頁
對於工作表中的每個 xW
xWs.Range("A1").AutoFilter 1, Sheet2.Range("C4")
下一頁
END SUB
這裡還沒有評論
載入更多
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

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