Kaj Application.Screenupdating = napačno pomeni in zakaj se uporablja v VBA

Anonim

V redu! Ta je pomemben.

Vsak dober postopek VBA ima vedno na začetku omenjeno to vrstico.

Application.Screenupdating = FALSE 

Pred koncem postopka boste videli tudi to vrstico.

Application.Screenupdating = TRUE 

Kaj je posodabljanje zaslona?
Posodobitev zaslona je lastnost aplikacijskih objektov v VBA. Lahko ga nastavite na TRUE ali FALSE. Je kot stikalo, ki ga lahko vklopite ali izklopite.

In kaj počne?
Prva vrstica pospeši obdelavo makrov tako, da ustavi posodabljanje zaslona programa Excel v realnem času.

Če imate dolg makro, ki zapisuje v različne liste, uporablja filtre, odstranjuje filtre, spreminja liste, shranjuje delovne zvezke itd. Če niste izklopili posodobitev zaslona z vrstico Application.Screenupdating = FALSE, boste videli utripa na zaslonu. Vsaka sprememba, ki jo izvede makro v delovnem zvezku, bo prikazana dinamično. To upočasni hitrost makra.

In če imate to vrstico na začetku makra, Excel ne bo odražal sprememb, ki jih izvede makro, dokler ni vklopljeno posodabljanje zaslona z vrstico Application.Screenupdating = TRUE.

Če želite pospešiti makro, onemogočite posodobitev zaslona na začetku podprograma in omogočite posodobitev zaslona pred koncem podprograma.

Tu je en primer:

Preverjanje podzaslona ()  Application.Screenupdating = FALSE 'Onemogočanje posodabljanja zaslona.  Sheet1.Activate Range ("A1"). Value = "Hi" Range ("A2"). Value = "Kako si?" Range ("A3"). Value = "Exceltip je neverjeten, kajne?" List 2. Aktivirajte Application.Screenupdating = TRUE 'Omogočanje posodabljanja zaslona. End Sub 

Ko zaženete zgornji podstavek, ne boste videli utripanja zaslona. Videli boste končni rezultat dela tega makra.

Pomembne opombe:

Poskrbite, da boste omogočili posodobitev zaslona, ​​preden se postopek konča. Če ne omogočite posodobitve zaslona, ​​ne boste mogli videti dela makra.

Posodabljanje zaslona pred vsakim ukazom Exit Sub in End Sub ni mogoče. Pogosto je, da pred izhodom iz Sub pozabite omogočiti posodobitve zaslona. Če tega ne storite, se boste morda spraševali, zakaj vaša koda ne deluje. V resnici pa se je. Tega preprosto ne vidite.

To je to. To naredi Application.Screenupdating = False v VBA. Ta vrstica kode se zelo spremeni. To je razlika med zrelim programiranjem in neprevidnim programiranjem. Če želite pospešiti makro, v tej kodi vedno uporabite to vrstico.

Upam, da vam je bilo to v pomoč. Če imate kakršne koli dvome v zvezi s tem člankom ali imate druga vprašanja, povezana z Excelom/VBA, vas prosimo, da v spodnjem razdelku za komentarje. Z veseljem bom pomagal.

Kakšna je razlika med argumenti ByRef in ByVal? : To je pomembno vprašanje VBA. ByVal in ByRef se uporabljata za različno posredovanje argumentov. Ena omogoča spremembo izvirne spremenljivke, druga pa ne spreminja izvirne spremenljivke.

Kako prelistati liste v Excelu z uporabo VBA : Med avtomatizacijo običajnih dolgočasnih nalog excela v VBA boste morali pregledati vsak list. Začnimo s primerom. Koda VBA za zavijanje na vseh listih v aktivnem zvezku in natisni list lista

Dogodki v Excelu VBA: Včasih želimo, da se ob določenem dogodku nekaj zgodi samodejno. Če želimo nekaj narediti, ko se v Excelu zgodi določen dogodek, uporabimo dogodek Excel VBA

Priljubljeni članki:

50 bližnjic v Excelu za večjo produktivnost | Poskrbite, da bo vaša naloga hitrejša. S temi 50 bližnjicami boste še hitreje delali v Excelu.

Funkcija VLOOKUP v Excelu | To je ena najpogosteje uporabljenih in priljubljenih funkcij programa Excel, ki se uporablja za iskanje vrednosti iz različnih obsegov in listov.

COUNTIF v Excelu 2016 | Štejte vrednosti s pogoji s to neverjetno funkcijo. Za štetje določenih vrednosti vam ni treba filtrirati podatkov. Funkcija Countif je bistvena za pripravo vaše armaturne plošče.

Kako uporabljati funkcijo SUMIF v Excelu | To je še ena bistvena funkcija armaturne plošče. To vam pomaga povzeti vrednosti za posebne pogoje.