VBA ekraani värskendamine - Koodi käitamise protsessi kiirendamine

Lang L: none (table-of-contents)

Exceli VBA ekraani värskendamine

VBA ekraani värskendamine on omadus, mida kasutatakse koodi käitamise ajal häirivate vilkumiste vältimiseks või vältimiseks ja ekraani värskendamise väljalülitamiseks selle kiireks muutmiseks. Saame ekraani värskendamise välja lülitada, määrates selle atribuudi valeks.

Sageli võime makro töötamise ajal tunda, et Exceli ekraan läheb hulluks, ja me peame sellest peaaegu pettuma. Kuidas aga nende olukordadega toime tulla ja panna kood tavapärasest aeglasemast kiiremini tööle?

Ekraani värskendamine on midagi, mida võime Exceli makro töötamise ajal märgata. Kui ülesanne on käivitatud, võime märgata, et ekraan värskendab väärtusi, kuni makro lõpetab määratud ülesande. Kuna meie ekraan vilgub või värskendab, viib see Exceli programmi aeglustumiseni ja võtab ülesande täitmiseks tavapärasest kauem aega.

VBA-s on meil atribuut nimega “ScreenUpdating” ja määrasime selle atribuudi väärtuseks FALSE, et see välistaks ekraani värskendamise protsessi, kui kood töötab.

Selles artiklis jätame hüvasti ekraanil toimuva draama vaatamisega, kuni kood töötab. Täna panete oma koodi tavapärasest ajast kiiremini käima.

Millal kasutada ekraani värskendamise funktsiooni?

Oletame, et teil on mingit kahtlust, millal seda tehnikat kasutada. Vaadake allpool toodud punkte.

  • Kui liigute läbi suure hulga lahtrite.
  • E-kirjade saatmine Exceli VBA-st.
  • Exceli töövihikute vahetamine.
  • Uute töövihikute avamine.

Kuidas kasutada ekraani värskendamise funktsiooni VBA-koodis?

Näide # 1 - lülitage ekraani värskendamine välja

Näiteks vaadake allolevat koodi.

Kood:

Alamekraan_Updating () Hämarda RowCount kui pikk Dim ColumnCount Kui pikk Dim MyNumber As Long MyNumber = 0 RowCount = 1 kuni 50 for ColumnCount = 1 kuni 50 MyNumber = MinuNumber + 1 lahtrit (RowCount, ColumnCount). Valige lahtrid (RowCount, ColumnCount) .Value = MinuNumber Järgmine veergCount Järgmine RidaCount End Sub

Ülaltoodul on pesastatud VBA-silmus, et sisestada seerianumbrid esimesest veerust 50. veergu ning tuleb uuesti tagasi ja sisestada seerianumber alates 51-st teisest reast kuni 50. veeruni .

Niimoodi sisestatakse see kuni 50. reani.

Selle koodi töötamise ajal võite märgata oma ekraani virvendamist ja te ei saa midagi teha peale selle pöörase hetke vaatamise.

Kõigi nende vältimiseks võime lisada ekraanivärskenduse valele FALSE.

Esmalt funktsiooni Ekraani värskendamine juurde pääsemiseks peame pääsema juurde rakenduse objektile.

Nagu näeme objekti Application abil, on meil palju omadusi ja meetodeid. Niisiis, valige IntelliSense'i loendist Ekraani värskendamine.

Märkus. Ekraani värskendamise funktsiooni peate rakendama kohe pärast muutujate deklareerimist.

Pärast atribuudi Screen Updating valimist pange võrdusmärk (=).

Nagu näeme, on kaks Boole'i ​​väärtust, näiteks FALSE & TRUE.

Ekraani värskendamise peatamiseks määrake olekuks FALSE.

Nüüd, kui makro hakkab kõigepealt töötama, värskendab see ekraani värskendamise oleku väärtuseks FALSE ja jätkab järgmist rida.

Kuna makro käivitas ekraani värskendamise väärtuseks FALSE, ei luba see ekraani värskendada, kuni kood oma ülesannet täidab.

Näide 2 -

Määrake ekraani värskendamise lõpus alati väärtuseks TÕENE

Olen näinud paljusid inimesi, kes määrasid ekraani värskendamise väärtuseks FALSE, kuid unustasite makro lõpus selle tagasi seada väärtusele TRUE.

Seadke makro lõpus alati ekraanivärskenduse väärtuseks TÕENE.

Kood:

Alam Screen_Updating () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long Application.ScreenUpdating = False MyNumber = 0 RowCount = 1 kuni 50 for ColumnCount = 1 kuni 50 MyNumber = Minu number + 1 lahtrit (RowCount, ColumnCount). Valige lahtrid. (RowCount, ColumnCount). Väärtus = MinuNumber Järgmine ColumnCount Järgmine RowCount Application.ScreenUpdating = True End Sub

Huvitavad Artiklid...