Ажурирање екрана ВБА - Убрзање процеса покретања кода

Ажурирање екрана за Екцел ВБА

Ажурирање екрана ВБА је својство које се користи да би се избегло или спречило бљескање ометања током покретања кода и убрзало искључивањем ажурирања екрана. Ажурирање екрана можемо искључити постављањем овог својства као нетачног.

Често можемо осетити да екран Екцел-а полуди док макро ради, и то нас готово фрустрира. Али како да се носимо са тим ситуацијама и учинимо да код ради брже од уобичајене споро ствари?

Ажурирање екрана је нешто што можемо приметити док је Екцел макро покренут. Када се задатак извршава, можемо приметити да наш екран ажурира вредности док макро не заврши додељени задатак. Како наш екран трепери или се освежава, доводи до успоравања програма Екцел и потребно је дуже време него обично да би се задатак обавио.

У ВБА имамо својство које се зове „СцреенУпддатинг“ и поставили смо ово својство на ФАЛСЕ тако да ће елиминисати процес ажурирања екрана док је код покренут.

У овом чланку опростићемо се од гледања акционе драме на екрану док код ради. Данас ћете учинити да ваш код ради брже и брже него што је уобичајено.

Када користити функцију за ажурирање екрана?

Претпоставимо да сумњате када да користите ову технику. Погледајте доње тачке.

  • Када петљате кроз велики број ћелија.
  • Слање е-поште из програма Екцел ВБА.
  • Пребацивање између Екцел књига.
  • Отварање нових радних књига.

Како се користи функција за ажурирање екрана у ВБА коду?

Пример # 1 - Искључите ажурирање екрана

На пример, погледајте доњи код.

Шифра:

Суб Сцреен_Упдатинг () Дим РовЦоунт Ас Лонг Дим ЦолумнЦоунт Ас Лонг Дим МиНумбер Ас Лонг МиНумбер = 0 Фор РовЦоунт = 1 то 50 Фор ЦолумнЦоунт = 1 То 50 МиНумбер = МиНумбер + 1 Целлс (РовЦоунт, ЦолумнЦоунт) .Селецт Целлс (РовЦоунт, Цолумн) .Валуе = МиНумбер Следећи број колоне Следећи крај реда Ред

Горе има угњеждену ВБА петљу да убаци серијске бројеве из прве колоне са 50 тх колону и поново се врати и уметак серијским бројем, почевши од 51 из другог реда у 50 -ог колона.

Овако, то ће убацити док не достигне 50 на тх ред.

Док је овај код покренут, можете приметити да заслон трепери и не можете ништа друго да учините осим да гледате овај луди тренутак.

Да бисмо избегли све ово, можемо да додамо Ажурирање екрана на ФАЛСЕ.

Да бисмо прво приступили функцији Ажурирање екрана, морамо приступити објекту Апликација.

Као што можемо видети са објектом Апплицатион, имамо многа својства и методе. Дакле, изаберите Ажурирање екрана са листе ИнтеллиСенсе.

Напомена: Функцију ажурирања екрана морате применити одмах након декларације променљивих.

Након што одаберете својство Ажурирање екрана, ставите знак једнакости (=).

Као што видимо, две логичке вредности, тј. ФАЛСЕ & ТРУЕ.

Да бисте зауставили ажурирање екрана, подесите статус на ФАЛСЕ.

Сада, када макро почне да се покреће први, ажурираће статус ажурирања екрана на ФАЛСЕ и прећи на следећи ред.

Будући да је макро извршило ажурирање екрана на ФАЛСЕ, неће дозволити ажурирање екрана док код извршава свој задатак.

Пример # 2 -

На крају увек подесите Ажурирање екрана на ТРУЕ

Видео сам да су многи људи подесили Ажурирање екрана на ФАЛСЕ, али су заборавили да га врате на ТРУЕ на крају макронаредбе.

Увек на крају макроа вратите Ажурирање екрана на ТРУЕ.

Шифра:

Суб Сцреен_Упдатинг () Дим РовЦоунт ас Лонг Дим ЦолумнЦоунт Ас Лонг Дим МиНумбер Ас Лонг Апплицатион.СцреенУпдатинг = Фалсе МиНумбер = 0 Фор РовЦоунт = 1 то 50 Фор ЦолумнЦоунт = 1 То 50 МиНумбер = МиНумбер + 1 Целлс (РовЦоунт, ЦолумнЦоунт) .Селецт Целецт. (РовЦоунт, ЦолумнЦоунт) .Валуе = МојБрој Сљедећи Број колона Сљедећи РовЦоунт Апплицатион.СцреенУпдатинг = Труе Енд Суб

Занимљиви Чланци...