Excel VBA (Visual Basic for Applications) je výkonný nástroj pro automatizaci a usnadnění práce v aplikaci Microsoft Excel. Umožňuje uživateli vytvářet makra, která automaticky provádějí určité akce v Excelu, jako je formátování dat, výpočty, třídění a filtrování.
Jednou z užitečných funkcí VBA pro práci s listy aplikace Excel je funkce Subtotal. Pomocí této funkce lze vypočítat součet, průměr, minimální a maximální hodnotu pro určitý rozsah buněk na listu Excel.
Funkce Subtotal má dva povinné argumenty: první argument označuje typ agregátní funkce, kterou je třeba použít na rozsah buněk, zatímco druhý argument určuje rozsah buněk. Pro každý typ agregátní funkce (např. součet, průměr, minimum) existuje své číslo.
Pokud například potřebujete spočítat součet buněk v rozsahu A1:A10, můžete použít funkci Subtotal(9, Range("A1:A10")).
Funkce Subtotal také umožňuje ignorovat výsledky ostatních agregátních funkcí na stejném listu. Pokud například použijete funkci Subtotal v buňce, která se používá ve vzorci automatického počítání součtu všech buněk na listu, výsledek funkce Subtotal bude vypočítán pouze pro viditelné buňky, ignorující skryté buňky.
Excel VBA: funkce Subtotal pro filtrování dat
Funkce Subtotal v programovacím jazyce VBA pro Excel poskytuje výkonný nástroj pro filtrování a analýzu dat na listech aplikace. Tato funkce umožňuje provádět různé výpočty a operace dat a automaticky aktualizovat výsledky při změně a filtrování dat.
Pro použití funkce Subtotal je nutné nastavit její parametry, které určují, které operace mají být nad daty provedeny. Parametry jsou uvedeny jako celočíselné kódy, které odpovídají určitým operacím. Například kód 1 odpovídá součtové operaci, 9 operace počtu záznamů a tak dále.
Funkce Subtotal může být zvláště užitečná při práci s velkým množstvím dat, když je nutné agregovat a filtrovat data podle různých kritérií. Pomocí této funkce lze například snadno vypočítat součet nebo průměr pouze pro viditelné řádky v tabulce, přičemž ignorujete data skrytá filtrem nebo seskupením.
Chcete-li použít funkci Subtotal, musíte vytvořit modul VBA a napsat příslušný kód. Příklad kódu pro výpočet součtu pouze pro viditelné řádky:
Sub CalculateSum()Dim rng As RangeDim visibleRange As Range' Определение диапазона данныхSet rng = ThisWorkbook.Worksheets("Лист1").Range("A1:A10")' Получение видимых строкSet visibleRange = rng.SpecialCells(xlCellTypeVisible)' Вычисление суммы видимых строкMsgBox WorksheetFunction.Subtotal(9, visibleRange)End Sub
V tomto příkladu je funkce Subtotal volána s parametrem 9, který odpovídá operaci počítání počtu prvků, a předává viditelný rozsah řádků jako argument. Výsledek se vypočítá pomocí funkce Subtotal a zobrazí se ve zprávě MsgBox.
Funkce Subtotal v programovacím jazyce VBA pro Excel vám tedy umožňuje snadno filtrovat a analyzovat data na listech aplikace. Poskytuje různé operace pro práci s daty a automatickou aktualizaci výsledků při změně dat. Použití funkce Subtotal může výrazně usnadnit analýzu a zpracování velkého množství dat v Excelu.
Definice funkce Subtotal
Hlavní výhodou funkce Subtotal je, že může ignorovat hodnoty skryté filtrem nebo seskupením. Kromě toho automaticky aktualizuje výsledky, když uživatel změní data.
Chcete-li použít funkci Subtotal, musíte zadat dvě možnosti: první parametr (funkce) určuje provedenou operaci a druhý parametr (rozsah) označuje rozsah buněk, se kterými bude operace provedena.
Například, =Subtotal(9, A1:A10) Vrátí součet hodnot v rozsahu buněk A1 až A10 ignorováním skrytých řádků nebo filtrů.
Funkce Subtotal může být užitečná v mnoha případech, zejména při práci s velkými a složitými datovými sadami. Umožňuje rychlou a snadnou analýzu a zpracování informací nezbytných pro rozhodování.
Aplikace funkce Subtotal v Excelu VBA
Funkce Subtotal v Excelu VBA vám umožňuje provádět různé výpočetní operace na zvoleném rozsahu buněk v listu aplikace. Lze jej použít k výpočtu součtu, průměru, minimální nebo maximální hodnoty a dalších statistických operací.
Chcete-li použít funkci Subtotal v Excelu VBA, musíte zadat číslo operace, kterou chcete provést, a rozsah buněk, na kterých je třeba provést výpočet. Číslo operace je definováno pomocí předdefinovaných konstant, jako jsou xlSum, xlverage, xlMin, xlMax a další.
Uveďme příklad použití funkce Subtotal k počítání součtu čísel v rozsahu A1:A10:
Sub CalculateTotal()Dim rng As RangeSet rng = Range("A1:A10")Dim total As Doubletotal = Application.WorksheetFunction.Subtotal(xlSum, rng)MsgBox "Сумма чисел: " & totalEnd Sub
V tomto příkladu vybereme rozsah buněk A1: A10 pomocí objektu Range a uložíme jej do proměnné rng. Poté pomocí funkce Subtotal vypočítáme součet čísel v tomto rozsahu pomocí předdefinované konstanty xlSum. Výsledek je uložen do proměnné total.
Nakonec výsledek součtu čísel odvodíme jako zprávu pomocí funkce MsgBox.
Kromě toho může být funkce Subtotal užitečná při práci s filtry v Excelu. Můžete například použít funkci Subtotal k počítání součtu čísel pouze pro filtrované řádky v rozsahu.
Celkově funkce Subtotal poskytuje široké možnosti pro provádění různých výpočtů na vybraných pásmech buněk v Excelu VBA. Lze jej použít k automatizaci výpočtů a zpracování dat, díky čemuž je práce s listy aplikace efektivnější a pohodlnější.
| Číslo operace | Popis |
|---|---|
| 1 | Součet |
| 2 | Částka včetně skrytých řádků |
| 3 | Částka bez skrytých řádků |
| 4 | Počet |
| 5 | Průměrná hodnota |
| 6 | Maximum |
| 7 | Minimum |