Jak automaticky aktualizovat filtrovaná data v Excelu, když jsou aktualizována

Microsoft Excel umožňuje filtrovat data. Je to užitečná funkce, která vám může pomoci porozumět velkému množství dat. Pokud vám chybí technické know-how potřebné k vytvoření databáze, tato funkce vám zachrání život. Filtry jsou poměrně základní a umožňují zahrnout nebo vyloučit data ze sloupce. Filtr se rozšiřuje a vztahuje se také na datové hodnoty v odpovídajících řádcích. Co filtr nedělá, je automatická aktualizace. Pokud se hodnota ve filtrovaném sloupci změní, ať už proto, že jste ji ručně aktualizovali, nebo se používá vzorec, musíte filtry použít znovu. Jednoduchý fragment kódu umožňuje aktualizovat filtrované sloupce za běhu.

Abyste mohli kód použít, budete muset povolit makra a uložit soubor aplikace Excel jako soubor s povoleným makrem, .XLSM. Chcete-li soubor uložit jako soubor s povolenými makry, přejděte na Soubor>Uložit jako a v dialogovém okně „Uložit jako“ vyberte Sešit s povoleným makrem Excel.

Dále vyberte list, na který jste použili filtry. Klikněte na něj pravým tlačítkem a z kontextové nabídky vyberte ‚Zobrazit kód‘.

Otevře se okno Microsoft Visual Basic s aktuálním listem Excelu. Vložte následující kód do okna kódu.

Private Sub Worksheet_Change(ByVal Target As Range)
If Me.FilterMode = True Then
With Application
.EnableEvents = False
.ScreenUpdating = False
End With

With ActiveWorkbook
.CustomViews.Add ViewName:="Mine", RowColSettings:=True
Me.AutoFilterMode = False
.CustomViews("Mine").Show
.CustomViews("Mine").Delete
End With
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End If

End Sub

Uložte soubor. Pokud jste soubor neuložili jako sešit Excel s podporou maker, budete k tomu vyzváni znovu. Tento soubor, který uložíte, bude uložen jako kopie a nepřepíše aktuální soubor.

Po přidání kódu můžete aktualizovat libovolnou buňku ve filtrovaném sloupci a ta automaticky obnoví filtrovaná data podle podmínek, které jste nastavili. Tento kód napsal uživatel Stack Exchange Sorin.