Přejít k hlavnímu obsahu

 Jak automaticky aktualizovat výsledek pokročilého filtru v aplikaci Excel?

Když použijeme funkci Rozšířený filtr, zjistíme, že filtrovaný výsledek se při změně kritérií automaticky nezmění. To vyžaduje, abychom znovu použili funkci Rozšířený filtr, abychom získali nový výsledek. Ale máte nějaký dobrý a rychlý trik pro automatickou aktualizaci výsledku pokročilého filtru, jak ukazuje následující snímek obrazovky zobrazený v aplikaci Excel?

Aktualizujte pokročilý výsledek filtru automaticky pomocí kódu VBA


Aktualizujte pokročilý výsledek filtru automaticky pomocí kódu VBA

Následující kód VBA vám může pomoci automaticky aktualizovat výsledek pokročilého filtru, když změníte kritéria podle potřeby, postupujte takto:

1. Klikněte pravým tlačítkem na kartu listu, kterou chcete automaticky filtrovat, a poté vyberte Zobrazit kód z kontextového menu v otevřeném Microsoft Visual Basic pro aplikace okno, zkopírujte a vložte následující kód do prázdného modulu:

Kód VBA: Automatická aktualizace výsledku pokročilého filtru:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A5:D21").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range _
("A1:C3"), Unique:=False
End Sub

Poznámka: Ve výše uvedeném kódu: A5: D21 je rozsah dat, který chcete filtrovat, A1: C3 je rozsah kritérií, podle kterých se má filtrovat.

2. Poté uložte a zavřete okno kódu, nyní, když změníte kritéria v rozsahu kritérií, filtrovaný výsledek se automaticky aktualizuje najednou.

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


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!
Comments (9)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This is likely not relevant anymore. Office excel now has a FILTER function that auto updates from what I gather, making advanced filter a sort of weak pivot table. FILTER function is what should be used moving forward? Sounds like excel's solution to the issue you state above not requring VBA to do.
This comment was minimized by the moderator on the site
Hi, I am applying advanced filter for a single column for unique values(with no criteria) . I need it to be updated by itself.

Could you please help me with that?
This comment was minimized by the moderator on the site
Is there a way to do this without using VBA?
This comment was minimized by the moderator on the site
Hello, this code works perfectly, there is just one problem, the copy/paste fonction doesn't work anymore.
How could it be fixed?
Thanks in advance
This comment was minimized by the moderator on the site
@Hannah: Yes, it is possible.
In the following code the criteria is on the sheet "Filter".


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A5:D23").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sheets("Filter").Range("A1:C3"), Unique:=False
End Sub
This comment was minimized by the moderator on the site
Ce code donne une erreur 1004 référence non valide. pouvez vous corriger le code proposé?
This comment was minimized by the moderator on the site
Bonjour, merci pour votre post qui m'aide énormément. Toutefois quel serait le code à ajouter pour coller le résultat dans un tableau d'une autre feuille de fichier et si possible pour au passage ne coller que certaines colonnes ?
Pour être plus précise, en utilisant votre exemple je voudrais copier uniquement les colonnes "Product" et "Name" du résultat du filtre et ce dans une nouvelle feuille. Merci.
This comment was minimized by the moderator on the site
Can I make the criteria come from a second sheet?
This comment was minimized by the moderator on the site
it refreshes every time when any data changes.

is it possible to refresh only when criteria changes.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations