Izslēdziet ekrāna atjaunināšanu - VBA koda piemēri

Lai cik forši izskatās, skatoties, kā VBA makro manipulē ar ekrānu, jūs varat palīdzēt makro darboties ātrāk, ja izslēdzat (atspējojat) ScreenUpdating.

Atspējot ekrāna atjaunināšanu

1. Lai atspējotu ScreenUpdating, koda sākumā ievietojiet šo rindu:

1 Application.ScreenUpdating = Nepareizi

Iespējot ekrāna atjaunināšanu

2. Lai atkārtoti iespējotu ScreenUpdating, koda beigās ievietojiet šo rindu:

1 Application.ScreenUpdating = Patiess

VBA ekrāna atjaunināšanas piemērs

Tad jūsu procedūra izskatīsies šādi:

1234567891011 Sub ScreenUpdating_Example ()Application.ScreenUpdating = Nepareizi'Dari kaut koDiapazons ("a1"). Kopēt diapazonu ("b1")Diapazons ("a2"). Kopēt diapazonu ("b2")Diapazons ("a3"). Kopēt diapazonu ("b3")Application.ScreenUpdating = PatiessBeigu apakš

Ekrāna atjaunināšanas atsvaidzināšana

Atspējojot ekrāna atjaunināšanu, jūsu VBA kods darbosies DAUDZ ātrāk, taču tas padarīs jūsu darbu arī profesionālāku. Galalietotāji parasti nevēlas redzēt jūsu procedūru darbības aiz ainas (īpaši, ja procedūra notiek lēni). Tāpat jūs, iespējams, nevēlaties, lai galalietotāji redzētu aizkulišu funkcionalitāti (piemēram, slēptās darblapas). Es iesaku atspējot (un atkārtoti iespējot) ekrāna atjaunināšanu praktiski visās jūsu procedūrās.

Tomēr dažos gadījumos vēlaties, lai ekrāns tiktu atsvaidzināts. Lai atsvaidzinātu ekrānu, jums īslaicīgi jāieslēdz ScreenUpdating (nav ekrāna atsvaidzināšanas komandas):

123 Application.ScreenUpdating = Patiess'Dari kaut koApplication.ScreenUpdating = Nepareizi

VBA iestatījumi - paātrinājuma kods

Lai uzlabotu koda ātrumu, ir jāspēlē vairāki citi iestatījumi.

Automātisko aprēķinu atspējošana var radīt milzīgas atšķirības ātrumā:

1 Lietojumprogramma. Aprēķins = xlManual

Statusa joslas atspējošana arī nedaudz mainīsies:

1 Application.DisplayStatusBar = Nepareizs

Ja darbgrāmatā ir notikumi, procedūras sākumā parasti ir jāatspējo notikumi.

1 Application.EnableEvents = Nepareizi

Visbeidzot, jūsu VBA kods var tikt palēnināts, kad programma Excel mēģina pārrēķināt lappušu pārtraukumus (piezīme: tas neietekmēs visas procedūras). Lai atspējotu lapu pārtraukumu parādīšanu, izmantojiet šo koda rindu:

1 ActiveSheet.DisplayPageBreaks = Nepareizi

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave