Vypnout aktualizaci obrazovky - příklady kódu VBA

Jakkoli to vypadá skvěle, když vaše makro VBA manipuluje s obrazovkou, můžete svému makru pomoci běžet rychleji, pokud vypnete (zakážete) ScreenUpdating.

Zakázat aktualizaci obrazovky

1. Chcete -li deaktivovat ScreenUpdating, na začátek kódu vložte tento řádek:

1 Application.ScreenUpdating = False

Povolit aktualizaci obrazovky

2. Chcete-li znovu povolit ScreenUpdating, zadejte na konec kódu tento řádek:

1 Application.ScreenUpdating = True

Příklad aktualizace obrazovky VBA

Váš postup pak bude vypadat takto:

1234567891011 PodobrazovkaUpdating_Example ()Application.ScreenUpdating = False'Dělej něcoRozsah ("a1"). Rozsah kopírování ("b1")Rozsah ("a2"). Rozsah kopírování ("b2")Rozsah ("a3"). Rozsah kopírování ("b3")Application.ScreenUpdating = TrueEnd Sub

Aktualizace ScreenUpdating

Deaktivace ScreenUpdating zrychlí váš kód VBA mnohem rychleji, ale také bude vaše práce vypadat profesionálněji. Koncoví uživatelé obvykle nechtějí vidět zákulisí akcí vašich procedur (zvláště když procedura běží pomalu). Také možná nebudete chtít, aby koncoví uživatelé viděli funkce v zákulisí (např. Skryté pracovní listy). Doporučuji deaktivovat (a znovu povolit) ScreenUpdating prakticky ve všech vašich postupech.

Existují však případy, kdy chcete, aby se obrazovka obnovila. Chcete -li obnovit obrazovku, budete muset dočasně znovu zapnout ScreenUpdating (neexistuje žádný příkaz „Obnovit“ obrazovku):

123 Application.ScreenUpdating = True'Dělej něcoApplication.ScreenUpdating = False

Nastavení VBA - Zrychlete kód

Existuje několik dalších nastavení, se kterými si můžete zlepšit rychlost kódu.

Deaktivace automatických výpočtů může znamenat OBROVSKÝ rozdíl v rychlosti:

1 Application.Calculation = xlManual

Deaktivace stavového řádku bude mít také malý rozdíl:

1 Application.DisplayStatusBar = False

Pokud váš sešit obsahuje události, měli byste obvykle zakázat události na začátku postupu:

1 Application.EnableEvents = False

Nakonec se váš kód VBA může zpomalit, když se Excel pokusí znovu vypočítat konce stránek (Poznámka: nebudou ovlivněny všechny postupy). Chcete -li zakázat zobrazování zlomů stránek, použijte tento řádek kódu:

1 ActiveSheet.DisplayPageBreaks = False

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave