Савети за брзину за Екцел 2016 ВБА

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

Искључивање ажурирања екрана

Када извршавате макро, можете се завалити и гледати све радње на екрану које се дешавају у макроу. Иако ово може бити поучно, након што наставите да макро ради како треба, често је досадно и може значајно успорити перформансе вашег макроа. На срећу, можете да онемогућите ажурирање екрана које се обично дешава када извршите макро. Да бисте искључили ажурирање екрана, користите следећу изјаву:

Апплицатион.СцреенУпдатинг = Фалсе

Ако желите да корисник види шта се дешава у било ком тренутку током макроа, користите следећу изјаву да поново укључите ажурирање екрана:

Апплицатион.СцреенУпдатинг = Тачно

Да бисте демонстрирали разлику у брзини, извршите овај једноставан макро, који попуњава опсег бројевима:

Суб ФиллРанге()
  Дим р као дуго, ц као дуго
  Дим Нумбер као дугачак
  Број = 0
  За р = 1 до 50
    За ц = 1 до 50
      Број = Број + 1
      Ћелије (р, ц). Изаберите
      Ћелије(р, ц).Вредност = Број
    Следећи ц
  Следеће р
Енд Суб

Видите да је свака ћелија изабрана и да се вредност унесе у ћелије. Сада убаците следећу наредбу на почетак процедуре и извршите је поново:

Апплицатион.СцреенУпдатинг = Фалсе

Опсег се попуњава много брже и не видите резултат док се макро не заврши и ажурирање екрана се (аутоматски) постави на Тачно.

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

Апплицатион.СцреенУпдатинг = Тачно

Искључивање аутоматског израчунавања

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

Следећа изјава поставља режим израчунавања програма Екцел на ручни:

Апплицатион.Цалцулатион = клЦалцулатионМануал

Извршите следећу наредбу да подесите режим израчунавања на аутоматски:

Апплицатион.Цалцулатион = клЦалцулатионАутоматиц

Ако ваш код користи ћелије са резултатима формуле, искључивање израчунавања значи да ћелије неће бити поново израчунате осим ако експлицитно не кажете Екцел-у да то уради!

Уклањање тих досадних порука упозорења

Као што знате, макро може аутоматски извршити низ радњи. У многим случајевима можете покренути макро, а затим отићи у собу за одмор док Екцел ради своје. Међутим, неке Екцел операције приказују поруке које захтевају људски одговор. Ове врсте порука значе да не можете оставити Екцел без надзора док извршава ваш макро — осим ако не знате тајни трик.

Савети за брзину за Екцел 2016 ВБА

Можете да наложите Екцел-у да не приказује ове врсте упозорења док покреће макро.

Тајни трик за избегавање ових порука упозорења је уметање следеће ВБА изјаве у ваш макро:

Апплицатион.ДисплаиАлертс = Фалсе

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

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

Апплицатион.ДисплаиАлертс = Тачно

Поједностављивање референци на објекте

Као што вероватно већ знате, референце на објекте могу постати веома дугачке. На пример, потпуно квалификована референца на објекат Ранге може изгледати овако:

Воркбоокс(“МиБоок.клск”).Ворксхеетс(“Схеет1”) _
  .Распон(„Каматна стопа“)

Ако ваш макро често користи овај опсег, можда ћете желети да креирате променљиву објекта помоћу команде Сет. На пример, следећа изјава додељује овај објекат Ранге променљивој објекта под називом Рате:

Подеси стопу = Радне свеске(“МиБоок.клск”) _
  .Радни листови(“Схеет1”).Распон(“ИнтерестРате”)

Након дефинисања ове променљиве објекта, можете користити променљиву Рате уместо дугачке референце. На пример, можете променити вредност ћелије под називом ИнтерестРате:

Стопа.Вредност = .085

Ово је много лакше откуцати од следеће изјаве:

Радне свеске(“МиБоок.клск”).Радни листови(“Схеет1”). _
  Опсег(“Каматна стопа”) = .085

Поред поједностављивања вашег кодирања, коришћење објектних променљивих значајно убрзава ваше макрое.

Декларисање типова променљивих

Обично не морате да бринете о врсти података које додељујете променљивој. Екцел обрађује све детаље за вас иза сцене. На пример, ако имате променљиву под називом МиВар, тој променљивој можете доделити број било ког типа. Можете чак и да му доделите текстуални низ касније у процедури.

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

Уопштено говорећи, требало би да користите тип података који захтева најмањи број бајтова, али и даље може да обрађује све податке који су му додељени. Када ВБА ради са подацима, брзина извршавања зависи од броја бајтова које ВБА има на располагању. Другим речима, што мање бајтова података користи, то ВБА може брже да приступи подацима и манипулише њима. Изузетак од овога је тип података Интегер. Ако је брзина критична, користите тип података Лонг.

Ако користите променљиву објекта, можете је декларисати као одређени тип објекта. Ево примера:

Дим Рате као опсег
Подеси стопу = Радне свеске(“МиБоок.клск”) _
  .Радни листови(“Схеет1”).Распон(“ИнтерестРате”)

Коришћење структуре Витх-Енд Витх

Да ли треба да подесите одређени број својстава за објекат? Ваш код ради брже ако користите структуру Витх-Енд Витх. Додатна предност је што ће ваш код бити лакши за читање.

Следећи код не користи Витх-Енд Витх:

Селецтион.ХоризонталАлигнмент = клЦентер
Селецтион.ВертицалАлигнмент = клЦентер
Селецтион.ВрапТект = Тачно
Селецтион.Ориентатион = 0
Селецтион.СхринкТоФит = Фалсе
Селецтион.МергеЦеллс = Фалсе

Ево истог кода, преписаног да користи Витх-Енд Витх:

Са селекцијом
  .ХоризонталАлигнмент = клЦентер
  .ВертицалАлигнмент = клЦентер
  .ВрапТект = Тачно
  .Оријентација = 0
  .СхринкТоФит = Нетачно
  .МергеЦеллс = Нетачно
Завршити

Када користите Витх-Енд Витх, уверите се да свака изјава почиње тачком.


Обришите цртеже оловком и маркером на својим ПоверПоинт слајдовима

Обришите цртеже оловком и маркером на својим ПоверПоинт слајдовима

Ако сте користили оловку или маркер за цртање на ПоверПоинт слајдовима током презентације, можете да сачувате цртеже за следећу презентацију или да их избришете тако да ћете следећи пут када их покажете почети са чистим ПоверПоинт слајдовима. Пратите ова упутства да бисте избрисали цртеже оловком и маркером: Брисање линија један на […]

Садржај библиотеке стилова у СхареПоинт 2010

Садржај библиотеке стилова у СхареПоинт 2010

Библиотека стилова садржи ЦСС датотеке, датотеке Ектенсибле Стилесхеет Лангуаге (КССЛ) и слике које користе унапред дефинисане главне странице, изгледе страница и контроле у ​​СхареПоинт 2010. Да бисте лоцирали ЦСС датотеке у библиотеци стилова на локацији за објављивање: Изаберите Радње сајта→Прикажи Сав садржај сајта. Појављује се садржај сајта. Библиотека Стил налази се у […]

Форматирајте бројеве у хиљадама и милионима у Екцел извештајима

Форматирајте бројеве у хиљадама и милионима у Екцел извештајима

Немојте претрпати своју публику огромним бројевима. У Мицрософт Екцел-у можете побољшати читљивост својих контролних табли и извештаја тако што ћете форматирати своје бројеве тако да се појављују у хиљадама или милионима.

Како делити и пратити СхареПоинт локације

Како делити и пратити СхареПоинт локације

Научите како да користите СхареПоинт алатке за друштвено умрежавање које омогућавају појединцима и групама да комуницирају, сарађују, деле и повезују се.

Како претворити датуме у јулијанске формате у Екцелу

Како претворити датуме у јулијанске формате у Екцелу

Јулијански датуми се често користе у производним окружењима као временска ознака и брза референца за број серије. Ова врста кодирања датума омогућава продавцима, потрошачима и услужним агентима да идентификују када је производ направљен, а тиме и старост производа. Јулијански датуми се такође користе у програмирању, војсци и астрономији. Различит […]

Како да направите приступну веб апликацију

Како да направите приступну веб апликацију

Можете да креирате веб апликацију у програму Аццесс 2016. Дакле, шта је уопште веб апликација? Па, веб значи да је онлајн, а апликација је само скраћеница за „апликацију“. Прилагођена веб апликација је апликација базе података на мрежи којој се приступа из облака помоћу претраживача. Ви правите и одржавате веб апликацију у верзији за десктоп […]

Трака за брзо покретање у СхареПоинт 2010

Трака за брзо покретање у СхареПоинт 2010

Већина страница у систему СхареПоинт 2010 приказује листу веза за навигацију на траци за брзо покретање дуж леве стране странице. Трака за брзо покретање приказује везе ка садржају истакнутог сајта као што су листе, библиотеке, сајтови и странице за објављивање. Трака за брзо покретање укључује две веома важне везе: Линк за сав садржај сајта: […]

Шта значе поруке о грешци решавача у Екцел-у?

Шта значе поруке о грешци решавача у Екцел-у?

За једноставне проблеме, Солвер у Екцел-у обично брзо проналази оптималне вредности променљиве Решавача за функцију циља. Али, у неким случајевима, Солвер има проблема да пронађе вредности променљиве Солвера које оптимизују функцију циља. У овим случајевима, Солвер обично приказује поруку или поруку о грешци која описује или расправља о проблему који […]

Како уклонити израчуната поља и ставке из Екцел заокретне табеле

Како уклонити израчуната поља и ставке из Екцел заокретне табеле

Можете лако да уклоните израчуната поља и ставке из Екцел заокретне табеле. Да бисте уклонили израчунато поље, кликните на ћелију у изведеној табели. Затим кликните на команду Поља, ставке и скупови на картици Анализа и изаберите Израчунато поље из подменија који се појави. Када Екцел прикаже дијалог Уметање израчунатог поља, изаберите […]

Како означити у СхареПоинт-у

Како означити у СхареПоинт-у

Ознаке су кључне речи које додељујете садржају. Означавање страница за дељење са другима је обележавање на друштвеним мрежама, веома је популарно на вебу и лако је у СхареПоинт-у. Ако сте икада користили сајт као што је Делициоус, већ знате како функционише обележавање на друштвеним мрежама. Како све више људи додељује исте ознаке, ознаке постају начин на који […]