VBA-näytön päivitys - Nopeuttaa koodin suorittamista

Excel VBA -näytön päivitys

VBA-näytön päivitys on ominaisuus, jota käytetään estämään häiriötekijöiden vilkkuminen koodin suorittamisen aikana ja tekemään siitä nopea poistamalla näytön päivitys käytöstä. Voimme poistaa näytön päivityksen käytöstä asettamalla tämän ominaisuuden vääräksi.

Usein voimme tuntea, että excel-näyttö menee hulluksi makron käydessä, ja siitä melkein turhautumme. Mutta miten voimme käsitellä näitä tilanteita ja saada koodin toimimaan nopeammin kuin tavallinen hidas asia?

Näytön päivitys on jotain, jonka voimme huomata, kun excel-makro on käynnissä. Kun tehtävä suoritetaan, voimme huomata, että ruutu päivittää arvoja, kunnes makro on saanut tehtävän päätökseen. Näytön välkkymisen tai virkistymisen seurauksena se hidastaa Excel-ohjelmaa ja tehtävän suorittaminen vie tavallista kauemmin.

VBA: ssa meillä on ominaisuus nimeltä ScreenUpdating, ja asetamme tämän ominaisuuden arvoksi FALSE, jotta se eliminoi näytön päivityksen prosessin, kun koodi on käynnissä.

Tässä artikkelissa jätämme hyvästit näytöllä toimivan draaman katsomisesta, kun koodi on käynnissä. Tänään saat koodisi toimimaan nopeammin ja nopeammin kuin tavallinen aika.

Milloin näytön päivitysominaisuutta käytetään?

Oletetaan, että sinulla on epäilyksiä tämän tekniikan käytöstä. Tutki alla olevia kohtia.

  • Kun silmukoit läpi suuren määrän soluja.
  • Sähköpostien lähettäminen Excel VBA: lta.
  • Vaihto Excel-työkirjojen välillä.
  • Uusien työkirjojen avaaminen.

Kuinka käyttää näytön päivitysominaisuutta VBA-koodissa?

Esimerkki # 1 - Poista näytön päivitys käytöstä

Katso esimerkiksi alla oleva koodi.

Koodi:

Alinäyttö_Päivitys () Himmennä rivilaskua niin pitkänä himmentävänä sarakelaskuna niin kauan himmeänä Oma numero yhtä pitkänä omana numerona = 0 rivirivinä = 0-50 sarakemääränä = 1-50 sarakemääränä = 1-50 Oma numero = Oma numero + 1 solua (rivinumero, sarakemäärä). .Arvo = Oma numero Seuraava sarakeLuku Seuraava rivinumero loppuosa

Edellä on sisäkkäisen VBA silmukan lisätä sarjanumeroita ensimmäisen sarakkeen 50 : nnen sarakkeen ja taas tulee takaisin ja insertti sarjanumero alkaen 51 toisesta rivi 50 : nnen sarakkeen.

Näin, se aseta kunnes se saavuttaa 50 : nnen rivin.

Kun tämä koodi on käynnissä, voit huomata näytön välkkyvän, etkä voi tehdä mitään muuta kuin katsella tätä hullua hetkeä.

Kaikkien näiden välttämiseksi voimme lisätä näytön päivityksen arvoon FALSE.

Jos haluat käyttää ensin näytön päivitysominaisuutta, meidän on käytettävä sovellusobjektia.

Kuten voimme nähdä Application-objektilla, meillä on monia ominaisuuksia ja menetelmiä. Joten valitse Näytön päivitys IntelliSense-luettelosta.

Huomaa: Sinun on käytettävä näytön päivitysominaisuutta heti muuttujien ilmoittamisen jälkeen.

Kun olet valinnut Näytön päivitys -ominaisuuden, laita yhtälömerkki (=).

Kuten voimme nähdä, kaksi loogista arvoa, eli FALSE & TRUE.

Pysäytä näytön päivitys asettamalla tilaksi FALSE.

Nyt, kun makro alkaa toimia ensin, se päivittää näytön päivitystilaksi FALSE ja siirtyy seuraavalle riville.

Koska makro suoritti näytön päivityksen FALSE: ksi, se ei salli näytön päivitystä, kun koodi suorittaa tehtävänsä.

Esimerkki 2 -

Määritä näytön päivitykseksi aina TOSI

Olen nähnyt monien asettaneen näytön päivityksen FALSE-arvoon, mutta unohtaneen asettaa sen takaisin TOSI-arvoon makron lopussa.

Määritä näytön päivitysasetukseksi aina TOSI makron lopussa.

Koodi:

Aliruutu_Updating () Himmennä RowCount niin kauan Dim ColumnCount niin pitkä Dim MyNumber niin pitkä Application.ScreenUpdating = False MyNumber = 0 RowCount = 1-50 for ColumnCount = 1-50 MyNumber = Oma numero + 1 solu (RowCount, ColumnCount) .Valitse solut. (RowCount, ColumnCount). Value = Oma numero Seuraava ColumnCount Seuraava RowCount Application.ScreenUpdating = True End Sub

Mielenkiintoisia artikkeleita...