Excel VBA képernyő frissítése
A VBA képernyőfrissítés olyan tulajdonság, amelyet a figyelemelterelés villogásának elkerülésére vagy megakadályozására használnak a kód futtatása közben, és a képernyőfrissítés kikapcsolásával gyorsabbá teszik azt. Kikapcsolhatjuk a képernyő frissítését, ha ezt a tulajdonságot hamisnak állítjuk be.
Gyakran érezhetjük, hogy az excel képernyő megőrül, miközben a makró fut, és ettől majdnem elkeseredünk. De hogyan kezeljük ezeket a helyzeteket, és a kódot gyorsabban futtassuk, mint a szokásos lassú dolgot?
A képernyőfrissítés olyan dolog, amelyet észrevehetünk, miközben az excel makró fut. Amikor a feladat végrehajtódik, észrevehetjük, hogy a képernyő frissíti az értékeket, amíg a makró befejezi a hozzárendelt feladatot. Képernyőnk villogása vagy frissülése az excel program lelassulásához vezet, és a szokásosnál hosszabb ideig tart a feladat elvégzése.
A VBA-ban van egy „ScreenUpdating” nevű tulajdonságunk, és ezt a tulajdonságot FALSE-ra állítottuk, hogy a kód futása közben kiküszöbölje a képernyő-frissítés folyamatát.
Ebben a cikkben a kód futtatása közben búcsúzunk a képernyőn megjelenő akciódrámák megtekintésétől. Ma gyorsabban és gyorsabban fogja futtatni a kódot, mint a szokásos idő.

Mikor kell használni a képernyőfrissítési funkciót?
Tegyük fel, hogy kétségei vannak arról, mikor használja ezt a technikát. Nézze meg az alábbi pontokat.
- Amikor nagyszámú cellán keresztül halad.
- E-mailek küldése az Excel VBA-ból.
- Váltás az excel munkafüzetek között.
- Új munkafüzetek megnyitása.
Hogyan kell használni a képernyőfrissítési funkciót a VBA-kódban?
1. példa - A képernyő frissítésének kikapcsolása
Nézze meg például az alábbi kódot.
Kód:
Sub Screen_Updating () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 RowCount = 1-50 for ColumnCount = 1-50 MyNumber = MyNumber + 1 Cell (RowCount, ColumnCount). Válassza ki a Cellákat (RowCount, ColumnCount) .Value = Saját szám Következő oszlopszám Szám Következő sorszám vége al
A fenti egy beágyazott VBA hurkot beszúrni sorszámát az első oszloptól a 50 th oszlopra, és újra visszatér, és betét sorszám kezdve 51 a második sor a 50 th oszlopot.

Mint ez, akkor helyezze amíg el nem éri a 50 th sor.
Amíg ez a kód fut, észreveheti a képernyő villogását, és nem tehet semmit azon kívül, hogy megnézi ezt az őrült pillanatot.
Mindezek elkerülése érdekében hozzáadhatjuk a Képernyőfrissítés lehetőséget a FALSE-hoz.
Először a Képernyőfrissítés funkció eléréséhez hozzáférnünk kell az Application objektumhoz.

Amint az Application objektummal láthatjuk, sok tulajdonságunk és módszerünk van. Tehát válassza az IntelliSense listából a Képernyő frissítése lehetőséget.
Megjegyzés: A változók deklarálása után azonnal alkalmaznia kell a Képernyő frissítése funkciót.

A Képernyő frissítése tulajdonság kiválasztása után tegyen egyenlőségjelet (=).

Amint láthatjuk, két logikai érték, azaz FALSE & TRUE.
A képernyő frissítésének leállításához állítsa az állapotot FALSE értékre.

Most, amikor a makró először futni kezd, a képernyő frissítési állapotát FALSE értékre frissíti, és a következő sorra lép.
Mivel a makró végrehajtotta a Képernyő frissítése FALSE-ra, nem engedélyezi a képernyő frissítését, amíg a kód végrehajtja a feladatát.
2. példa -
A képernyő frissítését mindig állítsa IGAZ értékre a végén
Láttam, hogy sokan a Képernyő-frissítést FALSE-ra állították, de a makró végén elfelejtették visszaállítani IGAZ-ra.
A makró végén mindig állítsa vissza a Képernyőfrissítés értéket IGAZ értékre.
Kód:
Sub Screen_Updating () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long Application.ScreenUpdating = False MyNumber = 0 RowCount = 1-50 for ColumnCount = 1-50 MyNumber = MyNumber + 1 Cell (RowCount, ColumnCount). Válassza ki a cellákat (RowCount, ColumnCount). Érték = MyNumber Következő ColumnCount Következő RowCount Application.ScreenUpdating = True End Sub