Izslēdziet (vai ieslēdziet) automātiskos aprēķinus - VBA koda piemēri

Ikreiz, kad atjaunināt šūnas vērtību, Excel veic darbgrāmatas pārrēķināšanas procesu. Strādājot tieši programmā Excel, jūs vēlaties, lai tas notiktu 99,9% gadījumu (izņēmums ir tad, ja strādājat ar ārkārtīgi lielu darbgrāmatu). Tomēr tas patiešām var palēnināt jūsu VBA kodu. Laba prakse ir iestatīt manuālos aprēķinus makro sākumā un atjaunot aprēķinus makro beigās. Ja jums ir jāpārrēķina darbgrāmata, varat manuāli likt Excel aprēķināt.

Izslēdziet automātiskos aprēķinus

Automātisko aprēķinu ar makro varat izslēgt, iestatot to uz xlmanual. Izmantojiet šādu VBA koda daļu:

1 Lietojumprogramma. Aprēķins = xlManual

Ieslēdziet automātiskos aprēķinus

Lai atkal ieslēgtu automātisko aprēķinu ar iestatījumu xlAutomatic:

1 Pielietojums. Aprēķins = xl Automātisks

Es iesaku atspējot automātiskos aprēķinus procedūras sākumā un atkārtoti iespējot automātiskos aprēķinus. Tas izskatīsies šādi:

Atspējot automātisko aprēķinu makro piemēru

12345678 Sub Auto_Calcs_Example ()Lietojumprogramma. Aprēķins = xlManual'Dari kaut koPielietojums. Aprēķins = xl AutomātisksBeigu apakš

Manuālais aprēķins

Ja automātiskie aprēķini ir atspējoti, varat izmantot Aprēķināt komanda, lai piespiestu Excel pārrēķināt:

1 Aprēķināt

Varat arī likt programmai Excel pārrēķināt tikai atsevišķu darblapu.

1 Darba lapas ("lapa1"). Aprēķināt

Varat arī likt VBA pārrēķināt tikai diapazonu (noklikšķiniet, lai izlasītu mūsu rakstu par VBA aprēķināšanas metodēm)

Lūk, kā tas varētu izskatīties makro iekšpusē:

12345678910111213 Sub Auto_Calcs_Example_Manual_Calc ()Lietojumprogramma. Aprēķins = xlManual'Dari kaut ko'PārrēķinātAprēķināt'Dari vairāk lietuPielietojums. Aprēķins = xl AutomātisksBeigu apakš

VBA iestatījumi - paātrinājuma kods

Ja jūsu mērķis ir paātrināt kodu, apsveriet arī šo citu iestatījumu pielāgošanu.

Ekrāna atjaunināšanas atspējošana var ievērojami mainīt ātrumu:

1 Application.ScreenUpdating = Nepareizi

Izslēdzot statusa joslu, būs arī neliela atšķirība:

1 Application.DisplayStatusBar = Nepareizs

Ja jūsu darbgrāmatā ir notikumi, jums vajadzētu atspējot notikumus arī procedūru sākumā (lai paātrinātu kodu un novērstu nebeidzamas cilpas!):

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 izslēgtu DisplayPageBreaks, 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