VBA ekrāna atjaunināšana Kodu darbības procesa paātrināšana

Excel VBA ekrāna atjaunināšana

VBA ekrāna atjaunināšana ir īpašums, ko izmanto, lai izvairītos vai novērstu uzmanības novēršanas mirgošanu koda palaišanas laikā un padarītu to ātru, izslēdzot ekrāna atjaunināšanu. Mēs varam izslēgt ekrāna atjaunināšanu, iestatot šo īpašumu kā nepatiesu.

Bieži vien mēs varam sajust, ka Excel ekrāns kļūst traks, kamēr darbojas makro, un mēs to gandrīz neapmierinām. Bet kā mēs rīkojamies šajās situācijās un liekam kodam darboties ātrāk nekā parasti lēnām?

Ekrāna atjaunināšana ir kaut kas, ko mēs varam pamanīt, kamēr darbojas Excel makro. Kad uzdevums tiek izpildīts, mēs varam pamanīt, ka mūsu ekrāns atjaunina vērtības, līdz makro pabeidz piešķirto uzdevumu. Tā kā mūsu ekrāns mirgo vai atsvaidzina, tas palēnina Excel programmas darbību un uzdevuma izpilde prasa ilgāku laiku nekā parasti.

VBA mums ir rekvizīts ar nosaukumu “ScreenUpdating”, un mēs iestatījām šim īpašumam FALSE, lai tas novērstu ekrāna atjaunināšanas procesu, kamēr kods darbojas.

Šajā rakstā mēs atvadīsimies no darbības drāmas skatīšanās ekrānā, kamēr kods darbojas. Šodien jūs liksit kodam darboties ātrāk un ātrāk nekā parasti.

Kad izmantot ekrāna atjaunināšanas funkciju?

Ja jums ir šaubas, kad izmantot šo paņēmienu. Izpētiet zemāk minētos punktus.

  • Kad jūs veicat cilpu caur lielu skaitu šūnu.
  • E-pasta ziņojumu sūtīšana no Excel VBA.
  • Pārslēgšanās starp Excel darbgrāmatām.
  • Jaunu darbgrāmatu atvēršana.

Kā izmantot ekrāna atjaunināšanas funkciju VBA kodā?

Jūs varat lejupielādēt šo VBA ekrāna atjaunināšanu Excel veidni šeit - VBA ekrāna atjaunināšanu Excel veidni

1. piemērs - izslēdziet ekrāna atjaunināšanu

Piemēram, skatiet zemāk esošo kodu.

Kods:

 Sub Screen_Updating () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 RowCount = 1 to 50 for ColumnCount = 1 līdz 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount). Atlasiet šūnas (RowCount, ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount End Sub 

Iepriekš minētais ir ligzdojis VBA cilpu, lai ievietotu sērijas numurus no pirmās kolonnas līdz 50. kolonnai un atkal atgrieztos un ievietotu sērijas numuru, sākot no 51 no otrās rindas līdz 50. kolonnai.

Šādi tas tiks ievietots, līdz sasniegs 50. rindu.

Kamēr šis kods darbojas, jūs varat pamanīt, ka ekrāns mirgo, un jūs nevarat darīt neko citu, kā tikai skatīties šo trako mirkli.

Lai izvairītos no visiem šiem, mēs varam pievienot ekrāna atjaunināšanu uz FALSE.

Lai piekļūtu ekrāna atjaunināšanas funkcijai, mums vispirms ir jāpiekļūst lietojumprogrammas objektam.

Kā redzam ar Application objektu, mums ir daudz īpašību un metožu. Tātad IntelliSense sarakstā atlasiet Ekrāna atjaunināšana.

Piezīme. Ekrāna atjaunināšanas funkcija jāpielieto uzreiz pēc mainīgo deklarēšanas.

Pēc rekvizīta Ekrāna atjaunināšana atlasīšanas uzlieciet vienādības zīmi (=).

Kā redzam divas Būla vērtības, ti, FALSE & TRUE.

Lai apturētu ekrāna atjaunināšanu, iestatiet statusu FALSE.

Tagad, kad makro sāk darboties vispirms, tas atjauninās ekrāna atjaunināšanas statusu uz FALSE un pāriet uz nākamo rindu.

Tā kā makro izpildīja ekrāna atjaunināšanu uz FALSE, tas neļaus ekrānam atjaunoties, kamēr kods izpilda savu uzdevumu.

2. piemērs -

Vienmēr beigās iestatiet ekrāna atjaunināšanu uz TRUE

Esmu redzējis, ka daudzi cilvēki ekrāna atjaunināšanu ir iestatījuši uz FALSE, bet makro beigās aizmirsu to iestatīt uz TRUE.

Makro beigās vienmēr iestatiet ekrāna atjaunināšanu atpakaļ uz TRUE.

Kods:

 Sub Screen_Updating () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long Application.ScreenUpdating = False MyNumber = 0 RowCount = 1 līdz 50 For ColumnCount = 1 līdz 50 MyNumber = MyNumber + 1 šūnas (RowCount, ColumnCount). Atlasiet šūnas (RowCount, ColumnCount). Vērtība = MyNumber Nākamā ColumnCount Nākamā RowCount Application.ScreenUpdating = True End Sub 

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