Aktualizácia obrazovky VBA Urýchlenie procesu spustenia kódu

Aktualizácia obrazovky programu Excel VBA

Aktualizácia obrazovky VBA je vlastnosť používaná na zabránenie alebo zabránenie rozptýleným zábleskom pri spustení kódu a na zrýchlenie vypnutím aktualizácie obrazovky. Aktualizáciu obrazovky môžeme vypnúť nastavením tejto vlastnosti na hodnotu false.

Počas fungovania makra môžeme často cítiť, že sa obrazovka programu Excel zbláznila, a sme z toho skoro frustrovaní. Ako však zvládnuť tieto situácie a zabezpečiť, aby kód bežal rýchlejšie ako zvyčajne pomaly?

Aktualizácia obrazovky je niečo, čo si môžeme všimnúť, keď je spustené makro programu Excel. Keď sa úloha vykonáva, môžeme si všimnúť, že naša obrazovka aktualizuje hodnoty, kým makro nedokončí priradenú úlohu. Keď obrazovka bliká alebo sa osviežuje, vedie to k spomaleniu programu Excel a dokončenie úlohy trvá dlhšie ako zvyčajne.

Vo VBA máme vlastnosť nazvanú „ScreenUpdating“ a túto vlastnosť sme nastavili na FALSE, aby vylučovala proces aktualizácie obrazovky, keď je kód spustený.

V tomto článku sa rozlúčime so sledovaním akčnej drámy na obrazovke za behu kódu. Dnes zabezpečíte, aby váš kód bežal rýchlejšie a rýchlejšie ako obvykle.

Kedy používať funkciu aktualizácie obrazovky?

Predpokladajme, že máte pochybnosti o tom, kedy použiť túto techniku. Pozrieť sa na nasledujúce body.

  • Keď prechádzate slučkou cez veľké množstvo buniek.
  • Posielanie e-mailov z programu Excel VBA.
  • Prepínanie medzi zošitmi programu Excel.
  • Otvára sa nové zošity.

Ako používať funkciu aktualizácie obrazovky v kóde VBA?

Príklad č. 1 - Vypnutie aktualizácie obrazovky

Napríklad si pozrite nasledujúci kód.

Kód:

Sub Screen_Updating () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 to 50 For ColumnCount = 1 to 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount). Select Cells (RowCount, ColumnCount) .Value = MojeČíslo Nasledujúci Stĺpec Počet Nasledujúci Počet riadkov Koncový Sub

Vyššie má vnorené VBA slučky vložiť sériové čísla z prvého stĺpca do 50 th kolóny a znovu sa vráti a vložka poradové číslo počnúc 51 z druhého radu na 50 teho stĺpca.

Rovnako ako to bude vložiť, kým nedosiahne 50 th riadok.

Keď je tento kód spustený, môžete si všimnúť blikanie obrazovky a okrem sledovania tohto šialeného okamihu nemôžete robiť nič iné.

Aby sme sa vyhli všetkým týmto, môžeme pridať aktualizáciu obrazovky na FALSE.

Ak chcete najskôr získať prístup k funkcii Aktualizácia obrazovky, musíme získať prístup k objektu Aplikácia.

Ako vidíme na objekte Application, máme veľa vlastností a metód. V zozname IntelliSense teda vyberte položku Aktualizácia obrazovky.

Poznámka: Funkciu Aktualizácia obrazovky musíte použiť ihneď po deklarácii premenných.

Po výbere vlastnosti Aktualizácia obrazovky vložte rovnaké znamienko (=).

Ako vidíme, dve logické hodnoty, tj FALSE & TRUE.

Aktualizáciu obrazovky zastavíte nastavením stavu na FALSE.

Teraz, keď sa makro spustí ako prvé, aktualizuje stav aktualizácie obrazovky na FALSE a prejde na ďalší riadok.

Pretože makro vykonalo aktualizáciu obrazovky na hodnotu FALSE, neumožní aktualizáciu obrazovky, keď kód vykonáva svoju úlohu.

Príklad č. 2 -

Na konci vždy nastavte aktualizáciu obrazovky na TRUE

Videl som veľa ľudí, ako nastavili aktualizáciu obrazovky na FALSE, ale na konci makra som ju zabudol nastaviť späť na TRUE.

Na konci makra vždy nastavte aktualizáciu obrazovky späť na TRUE.

Kód:

Sub Screen_Updating () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber as Long Application.ScreenUpdating = False MyNumber = 0 For RowCount = 1 to 50 For ColumnCount = 1 to 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount). Select Cells (RowCount, ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount Application.ScreenUpdating = True End Sub

Zaujímavé články...