Excel VBA poskytuje mnoho možností pro automatizaci a správu dat v pracovních knihách. Někdy však může být nutné uživateli dočasně zakázat přístup k pracovní knize nebo skrýt její zobrazení na obrazovce. V tomto článku se podíváme na to, jak lze takovou operaci provést pomocí VBA.
Jednou z možností, jak Pracovní sešit vypnout, je jeho skrytí. K tomu lze použít metodu Workbook.Hide. Tato metoda skryje pracovní sešit, aniž by jej zavřela, a uživatel nebude mít přístup k jeho datům a funkcím, dokud nebude znovu zobrazen. Zde je příklad použití metody:
Sub HideWorkbook()
ThisWorkbook.Hide
End Sub
Pokud chcete zcela zakázat přístup k pracovní knize, včetně skrytí jejího zobrazení, můžete použít metodu Workbook.Close. Při použití této metody bude pracovní kniha uzavřena a všechny neuložené změny budou ztraceny. Příklad použití metody:
Sub CloseWorkbook()
ThisWorkbook.Close
End Sub
Pomocí metod Hide a Close je tedy možné zakázat pracovní sešit v Excelu VBA v závislosti na konkrétním úkolu. Používejte tyto metody obezřetně, abyste neztratili důležitá data a zachovali integritu fungování vašich Maker a aplikací.
Vypnutí pracovního sešitu v Excelu VBA
Vypnutí pracovního sešitu v Excelu VBA může být užitečné, když chcete dočasně zastavit spouštění makra nebo aplikace, abyste mohli provádět další operace. Existuje několik způsobů, jak zakázat pracovní sešit v Excelu VBA, včetně použití příkazu Application.EnableEvents a použití příkazu Application.ScreenUpdating . Níže jsou uvedeny příklady a pokyny k použití těchto metod.
1. Použití příkazu Application.EnableEvents
Příkaz Application.EnableEvents deaktivuje události související s pracovním sešitem, včetně spouštění maker při změně dat. Pokud chcete deaktivovat pracovní sešit, abyste mohli provádět jakékoli akce bez spouštění událostí, můžete použít tento příkaz. Níže je uveden příklad kódu:
Sub DisableWorkbook()Application.EnableEvents = False' ваш кодApplication.EnableEvents = TrueEnd Sub
V tomto příkladu příkaz Application.EnableEvents = False vypne události pracovní knihy a příkaz Application.EnableEvents = True je po spuštění kódu znovu zapne. Mezi tyto dva příkazy můžete umístit svůj kód.
2. Použití příkazu Application.ScreenUpdating
Příkaz Application.ScreenUpdating deaktivuje aktualizaci obrazovky, což vám umožní urychlit spouštění Maker a aplikací. Pokud chcete deaktivovat pracovní sešit a provést operace bez viditelné aktualizace na obrazovce, můžete použít tento příkaz. Zde je příklad kódu:
Sub DisableWorkbook()Application.ScreenUpdating = False' ваш кодApplication.ScreenUpdating = TrueEnd Sub
V tomto příkladu příkaz Application.ScreenUpdating = False vypne aktualizaci obrazovky, zatímco je spuštěn kód a příkaz Application.ScreenUpdating = True povoluje po spuštění kódu opět aktualizaci obrazovky.
Můžete použít jako příkaz aplikace.EnableEvents i Application Team.ScreenUpdating jednotlivě nebo v kombinaci podle vašich potřeb. Tyto příkazy mohou být užitečné, když potřebujete dočasně vypnout pracovní sešit, abyste mohli provádět určité operace a poté jej znovu zapnout, aby aplikace fungovala normálně.
Proč zakázat pracovní sešit v Excelu VBA
- Snížení zatížení procesoru. Když je pracovní kniha aktivní, Excel zpracovává všechny její operace a události. Pokud v jednom makru probíhá mnoho operací, včetně aktualizace dat a výpočtů, může být procesor přetížen. Vypnutí pracovního sešitu umožňuje uvolnit procesor pro další úkoly.
- Zvýšení rychlosti Maker. Když je pracovní kniha aktivní, každá operace se provádí pomaleji kvůli nutnosti aktualizace rozhraní, podsvícení buněk a dalších akcí. Pokud deaktivujete pracovní sešit, Excel provede makra bez aktualizace rozhraní, což má za následek zkrácení doby běhu.
- Snížení využití paměti. Když je pracovní kniha aktivní,zabírá určité množství paměti RAM, zvláště pokud obsahuje velké množství dat. Pokud vypnete pracovní sešit, Excel uvolní paměť, což vám umožní použít ji pro jiné úkoly.
- Zvýšení stability makra. Pokud v makru dojde k manipulaci s daty ve více pracovních knihách současně, může při aktivaci jiné knihy dojít ke konfliktu mezi odchozími a příchozími odkazy. Vypnutí pracovního sešitu umožňuje vyhnout se podobným chybám a zajistit stabilnější provádění Maker.
Vypnutí pracovního sešitu v Excelu VBA je zvláště užitečné při práci s velkým množstvím dat a složitými makry. To umožňuje zvýšit výkon a stabilitu Maker a optimalizovat využití zdrojů počítače.