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ä ruutumme päivittää arvoja, kunnes makro on saanut tehtävän päätökseen. Näytön välkkyminen tai virkistäminen johtaa Excel-ohjelman hidastumiseen 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?

Jos 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: sta.
  • Vaihto Excel-työkirjojen välillä.
  • Uusien työkirjojen avaaminen.

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

Voit ladata tämän VBA ScreenUpdating Excel -mallin täältä - VBA ScreenUpdating Excel -malli

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

Katso esimerkki alla olevasta koodista.

Koodi:

 Alinäyttö_Päivitys () Himmennä RowCount niin pitkä himmeä ColumnCount Niin pitkä Dim MyNumber niin pitkä MyNumber = 0 RowCount = 1-50 for ColumnCount = 1-50 MyNumber = Oma numero + 1 solu (RowCount, ColumnCount) .Valitse solut (RowCount, ColumnCount) .Arvo = Oma numero seuraava sarakeLuku seuraava rivinumero loppuosa 

Edellä on sisäkkäinen VBA-silmukka sarjanumeroiden lisäämiseksi ensimmäisestä sarakkeesta 50. sarakkeeseen ja palaa jälleen takaisin ja lisää sarjanumero alkaen 51 toisesta rivistä 50. sarakkeeseen.

Näin se lisää, kunnes se saavuttaa 50. rivin.

Kun tämä koodi on käynnissä, huomaat näytön vilkkuvan 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.

Näytön päivitysominaisuuden käyttämiseksi meidän on ensin 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 VIRHEEKSI, 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 ihmisten asettaneen näytön päivityksen asetukseksi FALSE, mutta unohtaneen asettaa sen takaisin TOSI-tilaan 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 

$config[zx-auto] not found$config[zx-overlay] not found