Екцел ВБА ДоЕвентс функција

Када пишемо огромне кодове, увек упадамо у замку ВБА. Када је код велик, ВБА тражи своје време да заврши поступак покретања и извршавања. Што може потрајати од једног до неколико минута. Ово је временски оквир када се сви нервирају. И не можемо ништа друго у овом временском периоду. Али да би се то избегло, ми имамо функцију у ВБА која се зове ДоЕвентс. Помоћу ДоЕвентс-а, можемо покренути код у позадини и истовремено можемо радити и друге врсте ствари. Не можемо да радимо само на другом алату или софтверу, већ такође можемо прекинути код или зауставити се између процеса извршења.

Једном када унесемо ДоЕвентс у код, тада ћемо осим ВБА, имати и контролу над послом који желимо да радимо. Добра ствар код ДоЕвентс-а је што нема никакву синтаксу за писање. Можемо директно поставити Доевентс тамо где желимо преузети контролу над ВБА и обављати задатке према нашим потребама.

Како се користи ДоЕвентс функција у Екцел ВБА?

Испод су различити примери коришћења ДоЕвентс функције у екцелу помоћу ВБА кода.

Можете преузети овај ВБА ДоЕвентс Екцел образац овде - ВБА ДоЕвентс Екцел предложак

Екцел ВБА ДоЕвентс - пример бр. 1

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

Корак 1: Отворите модул у ВБА на картици Уметање као што је приказано у наставку.

Корак 2: Напишите подпроцедура ВБА ДоЕвентс или можемо одабрати било које име да бисмо дефинисали код према нашим потребама.

Шифра:

 Суб ВБА_ДоЕвентс () Крај Суб 

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

Шифра:

 Суб ВБА_ДоЕвентс () Дим А као дуги крај Суб 

Корак 4: Сада отворите петљу Фор-Нект у коју ћемо ставити услове.

Шифра:

 Суб ВБА_ДоЕвентс () Дим А као дугачак за наредни и крајњи Суб 

Корак 5: Размотрите опсег броја по вашем избору који се може применити. Овде узимамо опсег 1 до 2000 у дефинисаној променљивој А.

Шифра:

 Суб ВБА_ДоЕвентс () Дим А као дугачак за А = 1 до 20000 Следећи А Крај Суб 

Корак 6: Једном када дефинишемо распон бројева, изабрат ћемо распон ћелија у којима ћемо видјети промјене у бројевима које смо одабрали горе. Рецимо да је распон ћелија од А1 до А5. Ово би могла бити и једна ћелија.

Шифра:

 Под ВБА_ДоЕвентс () Дим А као дугачак за распон од А = 1 до 20000 („А1: А5“) Вредност = А Следећи А Крај Под 

Корак 7: Сада покрените код кликом на дугме Плаи који се налази испод траке са менијима.

Видећемо, код је завршен штампањем бројева од 1 до 20000, али нисмо га могли зауставити.

Корак 8: Да бисте добили потпуну контролу над кодом, примените ДоЕвентс након услова петље као што је приказано у наставку.

Шифра:

 Под ВБА_ДоЕвентс () Дим А као дугачак за распон од 1 до 20000 („А1: А5“) Вредност = А ДоЕвентс Следећи А Крај Под 

Корак 9: Сада поново покрените код. И у овом тренутку покушавамо да зауставимо код кликом на дугме за заустављање, приметићемо да ће се код зауставити између процеса пре него што заврши суђење 20000.

Екцел ВБА ДоЕвентс - пример бр. 2

Постоји и друга врста процеса за имплементацију ДоЕвентс. Али и за ово ће нам требати огроман код као што је приказано у примеру-1. За то следите следеће кораке:

Корак 1: Напишите подпроцедура ВБА ДоЕвентс као што је приказано у наставку.

Шифра:

 Суб ВБА_ДоЕвентс2 () Крај Суб 

Корак 2: Директно отворите петљу Фор-нект без дефинисања променљиве.

Шифра:

 Суб ВБА_ДоЕвентс2 () За следећи крај Суб 

Корак 3: Одаберите распон броја који ћемо видети како се приказује. Нека опсег буде 1 до 20000 исти као пример-1.

Шифра:

 Суб ВБА_ДоЕвентс2 () За А = 1 до 20000 Следећи крај Суб 

Корак 4: Сада директно ставите било који посао за излаз, рецимо да је излаз приказан доле. А опсег вредности биће +1 стварне вредности.

Шифра:

 Суб ВБА_ДоЕвентс2 () За А = 1 до 20000 Излаз = Излаз + 1 Следећи крај Под 

Корак 5: Сада изаберите опсег у којем желимо да видимо излаз. Нека ћелија буде А1.

Шифра:

 Суб ВБА_ДоЕвентс2 () За А = 1 до 20000 Излаз = Излаз + 1 опсег ("А1") Вредност = Излаз Сљедећи крај Под 

Корак 6: И коначно ћемо ДоЕвентс ставити на крај Фор фор петље.

Шифра:

 Под ВБА_ДоЕвентс2 () За А = 1 до 20000 Излаз = Излаз + 1 опсег ("А1") Вредност = Излаз ДоЕвентс Следећи крај Суб 

Корак 7: А затим покрените код притиском на тастер Ф5. Видећемо, можемо учинити било шта, чак и када се код покреће. За демонстрацију сам одабрао ћелије Б1 и Ц1. Бројке које су достигле само 4348, што је доста мање од границе коју смо поставили.

Корак 8: Ако уклонимо ДоЕвентс и покренемо код, нећемо моћи ништа да урадимо док код не доврши свој поступак. Да видимо и то.

Шифра:

 Суб ВБА_ДоЕвентс2 () За А = 1 до 20000 Излаз = Излаз + 1 опсег ("А1") Вредност = Излаз Сљедећи крај Под 

Корак 9: Сада поново покрените код. Као што видимо, док смо покушавали да кликнемо на Стоп, код се није зауставио. А функција Плаи и даље је била УКЉУЧЕНА.

За и против Екцел ВБА ДоЕвентс

  • Можемо радити на било којем алату или датотеци у позадини док се ВБА код покреће паралелно.
  • Коришћење ДоЕвентс не спречава нас да радимо посао који желимо када се код покреће.
  • Преписује радни лист или радну књижицу када прелазимо између различитих радних листова или радне свеске.
  • Код се зауставља када на тренутак напишемо или променимо ћелију и не примимо обавештења.

Ствари које треба запамтити

  • Ако учинимо било шта без примјене ДоЕвентс-а, тада постоји велика могућност да код систем и датотеку замрзне. И да ћемо или наставити датотеке након што се код потпуно покрене или ћемо га срушити на више кликова.
  • Промену у процесу можемо видети и истовремено радимо на другом послу.
  • Једном када довршимо код, сачувајте датотеку у формату екцел који је омогућен за макро како бисте избегли губитак кода.
  • Покушајте да примените код у великом и великом сету кодирања, тамо ћемо видети стварну имплементацију и употребу.

Препоручени чланци

Ово је водич за ВБА ДоЕвентс. Овдје смо расправљали о томе како користити ДоЕвентс функцију у Екцел-у користећи ВБА код заједно са практичним примјерима и довнлоад-ом Екцел предлошка. Можете и да прођете кроз друге наше предложене чланке -

  1. Како се користи СтрЦонв у Екцел ВБА?
  2. Претварање бројева у текст у Екцелу (примери)
  3. ВБА БиРеф функција (примери са Екцеловим предлошком)
  4. Екцел СУМИФС са датумима | Предложак Екцела

Категорија: