ВБА Ретурн | Како се користи ГоСуб-ова изјава о повраћају у ВБА?

Изјава о повратку за Екцел ВБА

ВБА је диван и спас за оне који знају како се ВБА кодира и одлази, може уштедети тоне времена на нашем радном месту. У нашим ранијим чланцима разговарали смо о многим стварима и концептима повратка ВБА. Један од таквих концепата је ГоСуб Ретурн изјава. У овом чланку ћемо вас упознати са овим концептима.

Шта је ГоСуб изјава о поврату?

Изјава „Иди под“ значи да ће ићи на линију кода означену ознаком кроз име и извршава одређени скуп задатака док не пронађе изјаву „Повратак“.

Ово је слично изјави руковаоца грешкама „ГоТо Лабел“, али оно што „ГоСуб Ретурн“ ради је да ће се вратити у следећи ред кода, уместо да настави са именом етикете.

Испод је синтакса изјаве ВБА ГоСуб Ретурн.

 ГоСуб [Назив етикете]... .. Ред кода[Назив етикете]:... .. Ред кода за извршавање задатка

Знам да је тешко разумети читајући синтаксу, али користећи пример можда ћете моћи да разумете концепт.

Пре него што пређем на примере, испричаћу неколико ствари о овој изјави.

  • ГоСуб наредба позива потпрограм у вба који је именован ознаком унутар исте рутине или функције.
  • И ГоСуб и Ретурн би требало да буду у оквиру исте процедуре, овде не можемо позвати други макропрограм.
  • Можете да уведете било који број ГоСуб Ретурн израза.
  • Изјава о повратку наставиће извршавање кода од места где је стао пре него што је скочио на потпроцедуру означену именом ознаке.

Како користити ГоСуб изјаву о повраћају у ВБА?

Овде можете преузети овај ВБА Ретурн Екцел предложак - ВБА Ретурн Екцел Темплате

Пример # 1

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

Шифра:

 Суб Го_Суб_Ретурн () ГоСуб Мацро1 'Назив ознаке1 ГоСуб Мацро2' Име ознаке2 ГоСуб Мацро3 'Ознака Наме3 Изађи из Суб Мацро1: МсгБок "Сада је покренут Мацро1" Ретурн Мацро2: МсгБок "Сада је покренут Мацро2" Ретурн Мацро3: МсгБок "Сада је покренут Мацро3 

Да бисте разумели овај код, пустите код ред по ред притиском на тастер Ф8. Након првог притиска тастера Ф8 покренуће макро.

Сада притисните тастер Ф8 још једном да бисте прешли на следећи ред.

Сви знамо да ће макро извршавати код ред по ред, али ако притиснете тастер Ф8, он неће ићи у следећи ред, већ делује другачије.

Скочио је на ознаку названу „Мацро1“, то је зато што смо у претходној изјави „ГоСуб“ наредили макронаредби да пређе на назив ознаке потпроцедура „Мацро1“, па је према томе прескочио на одговарајуће име ознаке.

Сада ће притиском на тастер Ф8 Екцел макро извршити задатак ознаке „Мацро1“ приказивања резултата у оквиру за поруку.

Кликните на Ок у оквиру за поруку да бисте се вратили у прозор за кодирање.

Сада је истакнуо изјаву „Повратак“ ако притиснете тастер Ф8 још једном, оно што ће учинити је „Повратак“ у претходни ред кода пре него што прескочи на име етикете.

Последњи пут је извршио код „ГоСуб Мацро1“ и извршио је задатак са називом ознаке „Мацро1“, пошто смо поменули изјаву „Ретурн“, вратио се у следећи ред кода, тј.

„ГоСуб Мацро2“

Изјава каже да је „идите на ознаку названу Мацро2“. У наставку за ознаку „Мацро2“ споменуо сам одређени скуп задатака.

Сада ћемо добити други задатак потпроцедуре приказивања вредности у оквиру за поруку.

Сада кликните на Ок, истакће се друга изјава „Ретурн“.

Сада се кликом на тастер Ф8 враћа на следећи ред кода пре него што се врати на ознаку „Мацро2“. Сада ће истакнути „ГоСуб Мацро3“.

Сада ће то бити ознака „Мацро3“, притисните тастер Ф8.

Сада ће се извршити задатак треће етикете.

Сада кликните на ОК, истакнуће изјаву „Ретурн“.

Ако притиснете тастер Ф8 још једном, вратит ће се на линију кода "Екит Суб".

Не, изаћи ће из потпрограма. Неопходно је додати реч „Екит Суб“ у супротном ће наићи на грешку.

Пример # 2

Сада погледајте још један пример коришћења изјаве ГоСуб Ретурн.

Шифра:

 Суб Го_Суб_Ретурн1 () Дим Нум Ас Лонг Нум = Апплицатион.ИнпутБок (Промпт: = "Молимо унесите број овде", Титле: = "Дивсион Нумбер") Ако је Нум> 10, онда ГоСуб Дивисион Елсе МсгБок "Нумбер ис лесс тхан 10" Екит Под крај ако изађе из поддељења: МсгБок Нум / 5 Ретурн Енд Суб 

Овај код ће тражити да унесете број који је> 10, ако је број> 10, извршиће задатак да га подели са 5 (Назив ознаке је "Дивисион"), или ће поруку приказати као „Број је мањи од 10“.

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

  • Име ознаке требало би да буде исто у наредбама ГоСуб и Ретурн, а у имену наредбе ретурн требало би да следи двотачка (:).
  • Увек користите Екит Суб у ВБА након што се изврше све наредбе за повратак да бисте избегли поруку о грешци.