Excel VBA ScreenUpdating

Když spustíme jakékoli makro VBA s obrovskou sadou kódu, kód se dokončí, ale na pozadí získáme zpracování dat ve formě běhu nebo čekání na ukazatel. A jakmile je hotovo, můžeme vidět pouze výstup. Normální způsob není správným způsobem, jak zjistit, jak se hodnoty aktualizují spuštěním kódu. Řekněme například, že jsme kód napsali, abychom vygenerovali některá čísla ve 100 buňkách. Nyní by tento kód mohl jednoduše generovat výstup, aniž by ukazoval, jak se čísla tisknou. Chcete-li to vyřešit, máme VBA ScreenUpdating . ScreenUpdating ve VBA nám pomáhá vidět, jak kód generuje výstup. Mohou to být čísla, text, abecedy nebo kombinace. Jakmile spustíme kódovou smyčku, pomocí VBA ScreenUpdating jsme mohli vidět generování čísel.

Jak používat aplikaci ScreenUpdating v Excel VBA?

Naučíme se, jak používat aplikaci ScreenUpdating v Excelu pomocí kódu VBA.

Tuto šablonu VBA ScreenUpdating Excel si můžete stáhnout zde - VBA ScreenUpdating Excel Excel

VBA ScreenUpdating si můžete všimnout, když spustíme kód nebo makro. Když je kód spuštěn, uvidíme, jak se naše obrazovka aktualizuje o hodnoty generované psaným kódem ve VBA. Místo toho, abychom viděli starší znaménko čekání, pomocí VBA ScreenUpdating můžeme vidět, jak obrazovka aktualizuje hodnoty výstupu pomocí VBA ScreenUpdating. Nyní můžeme vidět také název článku, který definuje, jak funguje, VBA ScreenUpdating .

VBA ScreenUpdating - Příklad č. 1

V tomto příkladu uvidíme jednoduchý kód pro aktualizaci obrazovky. K tomu potřebujeme některé buňky s čísly, jak je ukázáno níže. Postupujte podle následujících kroků:

Krok 1: Otevřete modul na kartě nabídky Vložit, jak je ukázáno níže.

Krok 2: Nyní napište podprogram do názvu VBA ScreenUpdating, jak je ukázáno níže.

Kód:

 Sub Screen_Update1 () End Sub 

Krok 3: Nyní zkopírujeme čísla z buňky A1: A3 do jiných buněk. Řekněme, že buňka je C1: C3 pomocí níže uvedeného kódu.

Kód:

 Sub Screen_Update1 () Range ("A1"). Range Copy ("C1") Range ("A2"). Copy range ("C2") Range ("A3"). Copy range ("C3") End Sub 

Krok 4: Nyní, když spustíme tento kód, můžeme získat pouze výstup, který je zkopírován ze sloupců A do C. Nyní použijeme aplikaci ScreenUpdating, jak je ukázáno níže.

Kód:

 Sub Screen_Update1 () Application.ScreenUpdating Range ("A1"). Range Copy ("C1") Range ("A2"). Copy range ("C2") Range ("A3"). Copy range ("C3") End Sub 

Krok 5: Vložili jsme znaménko rovnosti pro výběr booleovských hodnot, které jsou PRAVDA nebo NEPRAVDA. Pro zastavení aktualizace obrazovky vybereme FALSE.

Kód:

 Sub Screen_Update1 () Application.ScreenUpdating = False Range ("A1"). Range Range ("C1") Range ("A2"). Range Copy ("C2") Range ("A3"). Copy range ("C3") ) End Sub 

Krok 6: Spusťte kód stisknutím klávesy F5 nebo kliknutím na tlačítko Přehrát umístěné pod pruhem nabídky. Uvidíme, že hodnoty jsou zkopírovány ze sloupců A do C.

To bychom mohli vidět jasněji, pokud máme obrovské množství čísel.

VBA ScreenUpdating - Příklad # 2

Uvidíme další příklad pro ScreenUpdating. Tentokrát uvažujme číslo od 1 do 20 z buňky A1 do A20, jak je ukázáno níže.

Při používání aplikace aktualizace obrazovky postupujte podle následujících kroků:

Krok 1: Napište podprogram VBA Screenupdating, jak je ukázáno níže.

Kód:

 Sub Screen_Update2 () End Sub 

Krok 2: Nyní napište kód pro výběr buňky rozsahu od A1 do A20 a zkopírujte je v B1 až F20, jak je ukázáno níže. Podobným způsobem, jaký jsme viděli v příkladu 1.

Kód:

 Sub Screen_Update2 () Range ("A1: A20"). Range Copy ("B1: F20") End Sub 

Krok 3: Chcete-li použít aplikaci pro aktualizaci obrazovky, znovu použijeme podobný řádek kódu, jaký jsme viděli v příkladu 1.

Kód:

 Sub Screen_Update2 () Application.ScreenUpdating = False Range ("A1: A20"). Range Copy ("B1: F20") End Sub 

Výše používaná aplikace ScreenUpdating jako FALSE nám umožní sledovat, jak kód VBA aktualizuje obrazovku. Protože máme více čísel, takže existuje šance, že můžeme vidět aktualizaci obrazovky.

Krok 4: Spusťte kód stisknutím klávesy F5 nebo kliknutím na tlačítko Přehrát. Viděli jsme, jak se hodnota aktualizuje.

VBA ScreenUpdating - Příklad č. 3

Existuje další způsob, jak sledovat aktualizaci obrazovky. To lze provést pomocí předběžné smyčky. V tomto příkladu vytiskneme čísla v kombinované matici řádků a sloupců. Postupujte podle následujících kroků:

Krok 1: Napište podprogram VU ScreenUpdating.

Kód:

 Sub Screen_Updating3 () End Sub 

Krok 2: Nyní deklarujte 2 proměnné pro řádky a sloupce samostatně jako datový typ Long.

Kód:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long End Sub 

Krok 3: Nyní deklarujte další proměnnou, kterou použijeme jako referenci pro spuštění čísel.

Kód:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long End Sub 

Krok 4: Nyní zadejte referenční číslo, od kterého místa chceme začít počítat. Zde to dáváme jako 0.

Kód:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 End Sub 

Krok 5: Nyní otevřete smyčku For a uveďte počet sloupců a řádků, které chcete vidět aktualizace. Řekněme od 1 do 50.

Kód:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 Pro RowCount = 1 až 50 End Sub 

Krok 6: Chcete-li pokračovat ve smyčce, zadejte MyNumber proměnnou +1.

Kód:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 Pro RowCount = 1 až 50 Pro ColumnCount = 1 až 50 MyNumber = MyNumber + 1 End Sub 

Krok 7: Nyní vyberte ve funkci buňky proměnné Řádek a Sloupec. Poté vyberte hodnoty uložené v nich a přiřaďte je proměnné MyNumber.

Kód:

 Sub Screen_Updating3 () Dim RowCount jako Long Dim ColumnCount jako Long Dim MyNumber As Long MyNumber = 0 Pro RowCount = 1 až 50 Pro ColumnCount = 1 až 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Vyberte buňky (RowCount, ColumnCount). .Value = MyNumber End Sub 

Krok 8: Nyní smyčku uzavřete o další. Zahrňte proměnné Row a Column, které jsme definovali a použili ve smyčce For-Next.

Kód:

 Sub Screen_Updating3 () Dim RowCount jako Long Dim ColumnCount jako Long Dim MyNumber As Long MyNumber = 0 Pro RowCount = 1 až 50 Pro ColumnCount = 1 až 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Vyberte buňky (RowCount, ColumnCount). .Value = MyNumber Další ColumnCount Další RowCount End Sub Sub 

Krok 9: Nyní jsme ještě nevložili aplikaci Screenupdating. Nyní vložte aplikaci Screenupdating jako FALSE před začátkem smyčky a jako TRUE na konci smyčky, jak je ukázáno níže.

Kód:

 Sub Screen_Updating3 () Dim RowCount jako Long Dim ColumnCount jako Long Dim MyNumber As Long Application.ScreenUpdating = False MyNumber = 0 Pro RowCount = 1 až 50 Pro ColumnCount = 1 až 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Vybrat buňky (RowCount, ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount Application.ScreenUpdating = True End Sub 

Nyní zkompilujte celý kód krok za krokem stisknutím funkční klávesy F8 a poté jej spusťte, pokud není nalezena žádná chyba. Uvidíme, jak se každá buňka vybraných řádků a sloupců aktualizuje o hodnoty v ní uložené.

Výhody Excel VBA ScreenUpdating

  • Je docela užitečné vidět, jak se obrazovka aktualizuje o hodnotu uloženou ve smyčce.
  • Pokud chceme přepínat mezi listy a sešity, můžeme použít Screenupdating.
  • Můžeme použít libovolný rozsah čísel.

Co si pamatovat

  • Jako rámeček použijeme vložku For-Next loop nebo jako první, můžeme splnit podmínku For loop a poté ji zavřít pomocí Next.
  • VBA ScreenUpdating je docela užitečné a viditelné, pokud používáme obrovské množství čísel.
  • Po dokončení soubor Excel uložte, protože Makro umožňuje formát Excel.
  • VBA ScreenUpdating lze také použít k vytvoření makra, pomocí kterého můžeme odesílat e-maily.

Doporučené články

Toto je průvodce VBA ScreenUpdating. Zde diskutujeme o tom, jak používat aplikaci ScreenUpdating v Excelu VBA spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -

  1. Kolekce VBA (příklady)
  2. VBA IF Prohlášení | Šablony Excelu
  3. Jak používat funkci řazení Excel VBA?
  4. VBA while Loop (příklady se šablonou Excel)
  5. VBA Environ

Kategorie: