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

 Jak použít stejný filtr na více listů v aplikaci Excel?

Může být pro nás snadné použít funkci Filtr k filtrování dat v listu, ale někdy budete možná muset filtrovat přes více listů, které mají společné formátování dat se stejnými kritérii filtru. Chcete-li je filtrovat jeden po druhém, ztratíte spoustu času, zde mohu představit snadný způsob, jak to vyřešit najednou.

Použijte stejný filtr na více listů s kódem VBA


šipka modrá pravá bublina Použijte stejný filtr na více listů s kódem VBA

Například mám čtyři pracovní listy, protože následující snímek obrazovky je třeba filtrovat se stejnými kritérii, že produkt = KTE najednou.

filtrování dokumentů více listů 1

Neexistuje žádný přímý způsob, jak filtrovat data ve více listech v aplikaci Excel, ale následující kód VBA vám může pomoci dokončit tuto úlohu, postupujte takto:

1. Podržte ALT + F11 klávesy, pak se otevře Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do Modul Okno.

Kód VBA: Použijte stejný filtr na více listů:

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. A pak stiskněte F5 klíč ke spuštění tohoto kódu, všechny produkty KTE byly filtrovány ve všech pracovních listech najednou, viz screenshot:

filtrování dokumentů více listů 2

Poznámka: Ve výše uvedeném kódu, v tomto xWs.Range ("A1"). AutoFilter 1, "= KTE" skript, A1 a = KTE označuje sloupec a kritéria, podle kterých chcete filtrovat, číslo 1 je číslo sloupce, podle kterého jste filtrovali, můžete je podle potřeby změnit. Například pokud chcete filtrovat pořadí větší než 50, stačí tento skript upravit takto: xWs.Range ("B1"). AutoFilter 2, "> 50".


Filtrování dat podle více kritérií nebo jiných konkrétních podmínek, například podle délky textu, rozlišování malých a velkých písmen atd.

Kutools pro ExcelJe Super filtr feature je mocný nástroj, můžete použít tuto funkci k dokončení následujících operací:

  • Filtrovat data podle více kritérií; Filtrování dat podle délky textu;
  • Filtrování dat podle velkých / malých písmen; Filtrujte datum podle roku / měsíce / dne / týdne / čtvrtletí

doc-super-filtr1

Kutools pro Excel: s více než 300 praktickými doplňky aplikace Excel, můžete vyzkoušet bez omezení do 30 dnů. Stáhněte si a vyzkoušejte zdarma hned teď!


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
officetab dno
Komentáře (41)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
jak použijete tento vzorec filtru: na řadu listů? Mám sešit, který má data na prvních 5 listech, a sešit má 200 listů, potřebuji, aby byl filtr aplikován pouze na list 6-200. Sub apply_autofilter_across_worksheets() 'Aktualizovat Extendoffice 20160623 Dim xWs as Worksheet On Error Pokračovat dále pro každý xWs v Worksheetech xWs.Range("A1").AutoFilter 1, "=KTE" Next End Sub
Tento komentář byl moderátorem webu minimalizován
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
Tento komentář byl moderátorem webu minimalizován
Vážení, chci filtrovat více než jednu hodnotu, použil jsem tento xWs.Range("B1"). AutoFilter 2, "=223AM", xlOr, "=113IR", xlOr, "=003IR" a fungovalo to, ale když jsem zvyšte požadované hodnoty na >2, dojde k chybě. tento příkaz používám xWs.Range("B1").AutoFilter 2, "=223AM", xlOr, "=113IR", xlOr, "=003IR", xlOr, "=019IR", xlOr, "=311IR", xlOr , "=518ZA", xlOr, "=223AM", xlOr, "=592IR" děkuji,
Tento komentář byl moderátorem webu minimalizován
při filtrování jednoho slova ve více listech se filtrovaná data nezobrazují... všechna data jsou skryta. prosím vyřešte to.
Tento komentář byl moderátorem webu minimalizován
Dobrý den,


Moje data jsou ve sloupci E a když použiji tento filtr s rozsahem ("E1"), stále filtruje sloupec A


Jak mohu odstranit potíže?
Díky
Tento komentář byl moderátorem webu minimalizován
Stačí napsat číslo sloupce do automatického filtru, v tomto případě: xWs.Range("E1").AutoFilter 5,
Tento komentář byl moderátorem webu minimalizován
DĚKUJI!!!!
Tento komentář byl moderátorem webu minimalizován
ODSTRANIT SLOUPEC A LOL
Tento komentář byl moderátorem webu minimalizován
Jak provést, pokud je filtr na každém listu v jiném sloupci?
Tento komentář byl moderátorem webu minimalizován
Jak můžete použít výsledek automatického filtru k nastavení filtru pro každý jiný list namísto použití =(konkrétní název)
Tento komentář byl moderátorem webu minimalizován
Mohu to použít k filtrování kontingenčních tabulek ve více listech, pokud všechny kontingenční tabulky pocházejí ze stejného zdroje dat a jsou nastaveny podle stejných kritérií?
Tento komentář byl moderátorem webu minimalizován
Existuje nějaká možnost filtrování podle barev?
Tento komentář byl moderátorem webu minimalizován
Ahoj Maheshi,
Pokud chcete filtrovat data podle barev, mohou vám pomoci následující dva články! Podívejte se na ně, doufám, že vám to pomůže!

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
Tento komentář byl moderátorem webu minimalizován
Dobrý den,


Jak to funguje, pokud je sloupec Produkt uveden na různých místech v jiných listech?


V listu 1 je to A1 v listu 2 je v B1 a v listu 3 je opět A1?

Díky,
Monika
Tento komentář byl moderátorem webu minimalizován
Existuje způsob, jak změnit část "=KTE" pro každý list pomocí filtru obsahujícího, který je založen na názvu listu?
Tento komentář byl moderátorem webu minimalizován
Děkuji za kód!! existuje způsob, jak změnit "=KTE" tak, aby používal hodnotu ze seznamu nebo rozevíracího seznamu?
Tento komentář byl moderátorem webu minimalizován
Ahoj, použije se super filtr v celém sešitu automaticky znovu, kdykoli dojde k aktualizaci souboru?
Tento komentář byl moderátorem webu minimalizován
Můžeme použít název buňky jako Produkt místo A1 v: xWs.Range("A1").AutoFilter 1, "=KTE"
Mám jiný sloupec a některá jména jsou v jiném sloupci.
Tento komentář byl moderátorem webu minimalizován
Použil jsem filtr v každém listu. A chci změnit s.no z 1 2 3 sériově v každém listu po filtru.


Dejte mi prosím vědět, jestli pro to máte vba kód
Tento komentář byl moderátorem webu minimalizován
Jak použít funkci "Filtrovat mezi" pro stejné více listů?

(Příklad: Časový rozsah)
Tento komentář byl moderátorem webu minimalizován
jak odstranit filtrované řádky?
Tento komentář byl moderátorem webu minimalizován
Milý,

Jak filtrovat s více podmínkami?
Například chci filtrovat v pořadí nad 50, ale pouze produkty KTE.

Děkuji předem.
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Pedjaa,
Chcete-li filtrovat přes více listů na základě dvou podmínek, použijte následující kód:
Dílčí apply_autofilter_across_worksheets()

'Aktualizovat Extendoffice

Dim xWs jako pracovní list

On Error Resume Next

Pro každý xWs v pracovních listech

S xWs.Range("A1")

.AutoFilter Field:=1, Criteria1:="KTE" 'Sloupec A se rovná "KTE"

.AutoFilter Field:=2, Criteria1:=">500" 'Sloupec B větší než 500

Konec s

další

End Sub

Zkuste to prosím, doufám, že vám to pomůže!
Tento komentář byl moderátorem webu minimalizován
i když vyměním A1 za G1, nastaví filtr na sloupec A1
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Tane,
Stačí nahradit A1 G1 a zároveň byste měli změnit sloupec číslo 1 na sloupec číslo 7, jak je uvedeno níže:
xWs.Range("G1").AutoFilter 7, "=KTE"
Zkuste to prosím, děkuji!
Tento komentář byl moderátorem webu minimalizován
Ahoj,
je možné filtrovat podle názvu sloupce, nikoli podle čísla (protože moje data jsou v různých sloupcích v různých listech)?
Děkuji Manuelo
Tento komentář byl moderátorem webu minimalizován
Chci filtrovat se stejnou podmínkou "KTE", ale pokud se nezobrazí v listu, nezobrazí se žádná data.
Tento komentář byl moderátorem webu minimalizován
Ahoj,
Chci kritéria filtru založená na hodnotě buňky namísto "KTE" je to možné???
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Hemraji, Chcete-li filtrovat data na základě konkrétní hodnoty buňky namísto pevného textu, použijte níže uvedený kód: Dílčí apply_autofilter_across_worksheets()
'Aktualizovat Extendoffice
Dim xWs jako pracovní list
On Error Resume Next
Pro každý xWs v pracovních listech
xWs.Range("A1"). AutoFilter 1, Sheet1.Range("E2")
další
End SubPoznámka: Prosím změňte Sheet1 a E2 v rámci toho List1.Rozsah("E2") skript do vašeho vlastního listu a hodnoty buňky. Zkuste to prosím, doufám, že vám to pomůže!
Tento komentář byl moderátorem webu minimalizován
Ahoj Skyyang,
Díky za vaši cennou a báječnou podporu, zkoušel jsem použít stejné vzorce, ale nefungovalo to z toho, co by mohlo být důvodem. Následuje kód, který používám pro svůj excelový list.
Dílčí apply_autofilter_across_worksheets()
'Aktualizovat Extendoffice
Dim xWs jako pracovní list
On Error Resume Next
Pro každý xWs v pracovních listech
xWs.Range("A1").AutoFilter 1, Sheet2.Range("C4")
další
End Sub
Zatím zde nejsou žádné komentáře
Načíst další
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL