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

Jak vymazat filtry ze všech listů v aktivním sešitu v aplikaci Excel?

Předpokládejme, že jste v sešitu aplikace Excel vytvořili více filtrů napříč různými listy a nyní chcete všechny tyto filtry vymazat najednou. Za normálních okolností musíte list posunout jeden po druhém, abyste zkontrolovali filtr a poté jej ručně vymazali. Existuje nějaká pohodlná metoda k vymazání filtrů ze všech listů v aktivním sešitu? Vyzkoušejte metodu v tomto článku.

Vymažte filtry ze všech listů v aktivním sešitu pomocí kódu VBA


Vymažte filtry ze všech listů v aktivním sešitu pomocí kódu VBA


Spuštěním níže uvedeného skriptu VBA vymažte filtry ze všech listů v aktivním sešitu.

1. V sešitu, ze kterého musíte vymazat filtry, stiskněte tlačítko Další + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modul. Poté zkopírujte a vložte níže uvedený skript VBA do okna modulu. Viz níže uvedený snímek obrazovky:

Kód VBA: Vymazání filtrů ze všech listů v aktivním sešitu

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. zmáčkni F5 klíč ke spuštění kódu. Poté jsou všechny filtry napříč všemi listy v aktuálním sešitu okamžitě vymazány.


Související články:


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-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní 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 omezuje stovky kliknutí myší každý den!
officetab dno
Komentáře (11)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Ty zkurvenej zmetku, tohle nám smazalo všechny filtry! Celý náš python skript byl zničen v důsledku toho, že nás to stálo hodiny! JDĚTE DO PEKLA TY ŠMEDI!!!!!!!!!!!!!!!
Tento komentář byl moderátorem webu minimalizován
Dobrý den,
Promiň za tu chybu. Kód byl v příspěvku aktualizován tak, aby filtry pouze vymazal, místo aby je odstranil. Zkuste to prosím a omlouváme se za nepříjemnosti.
Tento komentář byl moderátorem webu minimalizován
Proč jste to před prací na svém nejnovějším souboru plně neotestovali a nemáte zálohu... než použijete drsné výrazy, zapracujte na svých IT zvyklostech.
Tento komentář byl moderátorem webu minimalizován
Dostáváte bezplatnou pomoc a ponižujete ostatní za své vlastní hloupé chyby. Lidé jako vy si zaslouží zvláštní místo v pekle
Tento komentář byl moderátorem webu minimalizován
toto odstraní všechny filtry, chtěl jsem něco, co by filtry vyčistilo, nikoli odstranilo.
Tento komentář byl moderátorem webu minimalizován
Ahoj Saimo, chápu tvůj názor. Kód byl v příspěvku aktualizován tak, aby filtry pouze vymazal, místo aby je odstranil. Zkuste to prosím a omlouváme se za nepříjemnosti. Sub Auto_Open()
'Aktualizováno Extendoffice 20201113
Dim xAF jako AutoFilter
Dim xFs jako filtry
Dim xLos jako seznam objektů
Dim xLo jako ListObject
Dim xRg jako rozsah
Dim xWs jako pracovní list
Dim xIntC, xF1, xF2, xCount As Integer
Application.ScreenUpdating = False
On Error Resume Next
Pro každý xWs v Application.Worksheets
xWs.ShowAllData
Nastavit xLos = xWs.ListObjects
xCount = xLos.Count
Pro xF1 = 1 To xCount
Nastavit xLo = xLos.Item(xF1)
Nastavte xRg = xLo.Range
xIntC = xRg.Columns.Count
Pro xF2 = 1 To xIntC
xLo.Range.AutoFilter Field:=xF2
další
další
další
Application.ScreenUpdating = True

End Sub
Tento komentář byl moderátorem webu minimalizován
Díky moc mi to pomůže ;)
Tento komentář byl moderátorem webu minimalizován
ahoj, při každém otevření souboru se makro spustí a filtry se vymažou, jak se vyhnout tomu "automatickému spuštění" makra?
Tento komentář byl moderátorem webu minimalizován
Ahoj Juane Moreno,
Omlouvám se za svou chybu. Nahraďte první řádek:
Sub Auto_Open()sSub Clear_filter()s vyřešením problému.
Tento komentář byl moderátorem webu minimalizován
Který řádek bych měl změnit, abych omezil makro POUZE na aktivní list, nikoli na všechny?
Tento komentář byl moderátorem webu minimalizován
@Lorif - odstranit pro každý xWs v Application.Worksheets a jeden z Nexts
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění