OK! Tenhle je důležitý.
Každý dobrý postup VBA má vždy tento řádek zmíněný na začátku.
Application.Screenupdating = FALSE
A před koncem postupu uvidíte i tento řádek.
Application.Screenupdating = PRAVDA
Co je ScreenUpdating?
Screenupdating je vlastnost aplikačních objektů ve VBA. Lze jej nastavit na hodnotu TRUE nebo FALSE. Je to jako přepínač, který lze zapnout nebo vypnout.
A co to dělá?
Rychlost prvního řádku zvyšuje zpracování maker zastavením aktualizace obrazovky aplikace Excel v reálném čase.
Pokud máte dlouhé makro, které zapisuje do různých listů, používá filtry, odstraňuje filtry, mění listy, ukládá sešity atd. A pokud jste nevypnuli aktualizace obrazovky pomocí řádku Application.Screenupdating = FALSE, pak uvidíte bliká na obrazovce. Každá změna provedená makrem v sešitu se zobrazí dynamicky. To zpomaluje rychlost makra.
A pokud máte tento řádek na začátku makra, Excel nebude odrážet změny provedené makrem, dokud se nezapne screenupdating pomocí řádku Application.Screenupdating = TRUE.
Chcete -li zrychlit makro, deaktivujte aktualizaci obrazovky na začátku podprogramu a aktivujte aktualizaci obrazovky před koncem podprogramu.
Zde je jeden příklad:
Dílčí kontrola obrazovky () Application.Screenupdating = FALSE 'Deaktivace aktualizace obrazovky. List 1. Aktivujte rozsah („A1“). Hodnota = „Dobrý“ rozsah („A2“). Hodnota = „Jak se máte?“ Rozsah ("A3"). Value = "Exceltip je úžasný, že?" List 2. Aktivujte Application.Screenupdating = TRUE 'Povolení aktualizace obrazovky. End Sub
Když spustíte výše uvedený díl, neuvidíte žádné blikání obrazovky. Uvidíte konečný výsledek práce provedené tímto makrem.
Důležité poznámky:
Před ukončením postupu nezapomeňte povolit aktualizaci obrazovky. Pokud aktualizaci obrazovky nepovolíte, neuvidíte práci vykonanou makrem.
Před každým příkazem Exit Sub a End Sub nelze aktualizovat obrazovku. Je běžné zapomenout na povolení aktualizací obrazovky před Exit Sub. Pokud to neuděláte, můžete se divit, proč váš kód nefunguje. Ale ve skutečnosti ano. Prostě to nevidíš.
A je to. To dělá Application.Screenupdating = False ve VBA. Tento jeden řádek kódu se hodně mění. Je to rozdíl mezi vyspělým programováním a neopatrným programováním. Pokud chcete zrychlit své makro, vždy v kódu použijte tento řádek.
Doufám, že vám to pomohlo. Máte -li jakékoli pochybnosti týkající se tohoto článku nebo máte jiné dotazy týkající se aplikace Excel/VBA, neváhejte se zeptat v sekci komentáře níže. Rád pomůžu.
Jaký je rozdíl mezi argumenty ByRef a ByVal? : Toto je důležitá otázka VBA. ByVal a ByRef se používají k předávání argumentů odlišně. Jeden umožňuje změnu v původní proměnné, zatímco druhý nemění původní proměnnou.
Jak procházet listy v aplikaci Excel pomocí VBA : Při automatizaci obvyklých nudných úloh Excelu ve VBA získáte potřebu procházet každým listem. Začněme příkladem. Kód VBA pro smyčku ve všech listech v programu Activeworkbook a název tiskového listu
Události v aplikaci Excel VBA: Někdy chceme, aby se něco stalo automaticky, když dojde k určité události. Abychom něco udělali, když se v Excelu stane konkrétní událost, použijeme událost Excel VBA
Oblíbené články:
50 zkratek aplikace Excel pro zvýšení produktivity | Získejte rychleji svůj úkol. Těchto 50 klávesových zkratek vám umožní pracovat v Excelu ještě rychleji.
Funkce VLOOKUP v Excelu | Toto je jedna z nejpoužívanějších a nejoblíbenějších funkcí Excelu, která slouží k vyhledávání hodnot z různých rozsahů a listů.
COUNTIF v aplikaci Excel 2016 | Pomocí této úžasné funkce spočítejte hodnoty s podmínkami. K počítání konkrétních hodnot nemusíte data filtrovat. Funkce Countif je nezbytná pro přípravu řídicího panelu.
Jak používat funkci SUMIF v aplikaci Excel | Toto je další základní funkce řídicího panelu. To vám pomůže shrnout hodnoty za konkrétních podmínek.