Увод у Екцел ВБА позивницу Суб

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

Како позвати Суб у Екцел ВБА?

Испод су различити примери за позивање Суб-а у Екцел ВБА:

Овде можете преузети овај предложак ВБА позива за под Екцел - Предложак ВБА позива Суб Екцел

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

Прво, да видимо један пример где ћемо ПОЗИВАТИ већ написану кодну подкатегорију или процедуру. За то нам је потребан модул.

Идите на прозор ВБА и под опцијом Уметање менија кликните на Модул као што је приказано испод.

Након тога добићемо празну страницу или прозор Модула. Сада у то упишите подкатегорију кода коју изводимо или у било које друго име као што је приказано у наставку.

Шифра:

 Суб Цаллинг () Прекини Суб 

Сада користите команду оквира за поруке и откуцајте било који текст или реч коју желите да видите у пољу за поруке. Овде користимо „ Прво “ као што је приказано у наставку.

Шифра:

 Суб Цаллинг () МсгБок („Фирст“) Крај Суб 

Сада саставите код и покрените га кликом на дугме Плаи који се налази испод траке менија. Видећемо оквир са поруком који садржи поруку „ Прво “ као што је приказано у наставку.

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

Шифра:

 Суб Долазак () Крај Суб 

У том случају поново користите команду МсгБок и дајте јој поруку или текст по вашем избору. Овде смо дали „ Друго “ као што је приказано у наставку.

Шифра:

 Суб Арривинг () МсгБок ("Сецонд") Крај Суб 

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

Овде долази функција ЦАЛЛ, коју ћемо користити да позовемо обе поруке једну по једну. Ово ће се користити у првој подкатегорији.

За овај тип Позовите у првој подкатегорији пре краја, а следи назив те подкатегорије чији код желимо да позовемо. У даљем тексту МсгБок користимо Цалл, а слиједи Долазак, што је име подкатегорије кода написано доље.

Шифра:

 Суб Цаллинг () МсгБок ("Фирст") Цалл Арривинг Енд Суб Суб Субривинг () МсгБок ("Сецонд") Енд Суб 

Сада саставите цео код од почетка до краја и покрените га. Видећемо оквир с именом назван „Прво“. Сада кликните на У реду да наставите даље. Једном када то учинимо, добићемо други оквир за поруку који садржи поруку „ Друго “, као што је приказано у наставку. А ако поново кликнете на Ок, тада ће изаћи из процедуре.

Шта ако променимо позицију функције позива са пре краја у крај после прве подкатегорије као што је приказано у наставку? Сада поново покрените комплетни код.

Шифра:

 Суб Цаллинг () Долазни позив МсгБок („Фирст“) Енд Суб Субривинг () МсгБок („Сецонд“) Енд Суб 

Појавит ће се порука похрањена у другом подпроцедури, а први је „ Други “, након чега слиједи порука „ Прво “ када кликнемо на ОК како је приказано у наставку.

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

Подцелина 2 за Екцел ВБА позиве

Погледајмо још један пример где ћемо користити функцију позива за позивање различитих поткатегорија. За то нам је потребан нови модул. Отворите модул из менија Уметање. И даје поткатегорију у било којем називу као што је приказано у наставку.

Шифра:

 Суб ВБАЦалл () Крај Суб 

Дефинишите 3 променљиве Нум1, Нум2 и Анс1 у ДИМ-у и доделите их затим Лонг . Такође можемо користити Интегер или Доубле, у зависности од употребе. Лонг ће нам омогућити да размотримо било коју дужину броја.

Шифра:

 Суб ВБАЦалл () Дим Нум1 Ас Лонг Дим Нум2 Ас Лонг Дим Анс1 Ас Лонг Енд Суб 

Сада дајте Нум1 и Нум2 било који број по вашем избору. Дали смо им 100 и 50 . Разматрање 100 и 50 помоћи ће нам да брзо идентификујемо излаз.

Шифра:

 Суб ВБАЦалл () Дим Нум1 Ас Лонг Дим Нум2 Ас Лонг Дим Анс1 Ас Лонг Нум1 = 100 Нум2 = 50 Енд Суб 

Сада користите формулу множења за умножавање бројева у Нум1 и Нум2 и спремите њихов одговор у Анс1 променљивој као што је приказано у наставку.

Шифра:

 Суб ВБАЦалл () Дим Нум1 Ас Лонг Дим Нум2 Ас Лонг Дим Анс1 Ас Лонг Нум1 = 100 Нум2 = 50 Анс1 = Нум1 * Нум2 Енд Суб 

У следећем реду кода користићемо ВБА објект. За ово одаберите лист са командом Ворксхеет и додијелите му распон било које ћелије. Изабрали смо ћелију домета као Б1. И на крају одштампајте резултат било којим именом попут резултата или одговора као што је приказано у наставку.

Шифра:

 Под ВБАЦалл () Дим Нум1 Ас Лонг Дим Нум2 Ас Лонг Дим Анс1 Ас Лонг Нум1 = 100 Нум2 = 50 Анс1 = Нум1 * Нум2 Ворксхеетс (1) .Ранге ("Б1"). Валуе = "Ансвер" Енд Суб 

Сада му дајте локацију на којој желимо да видимо одговор на исти начин као што је приказано горе. Овде бирамо ћелију Ц1 као излазну ћелију и овде постављамо последњу променљиву Анс1 .

Шифра:

 Под ВБАЦалл () Дим Нум1 Ас Лонг Дим Нум2 Ас Лонг Дим Анс1 Ас Лонг Нум1 = 100 Нум2 = 50 Анс1 = Нум1 * Нум2 Ворксхеетс (1) .Ранге ("Б1"). Валуе = "Ансвер" Ворксхеетс (1) .Ранге ("Ц1") Вредност = Анс1 Крај Суб 

Сада покрените код. Резултат множења ћемо видети у ћелији Ц1.

Писање друге подкатегорије испод истог кода након краја.

Шифра:

 Суб ВБАЦалл2 () Крај Суб 

Опет дефинишите 3 променљиве Нум3, Нум4 и Анс2 у ДИМ-у и доделите их затим Лонг.

Шифра:

 Суб ВБАЦалл2 () Дим Нум3 Ас Лонг Дим Нум4 Ас Лонг Дим Анс2 Ас Лонг Енд Суб 

Дајте Нум3 и Нум4 исте вредности као 100 и 50 и додајте оба броја.

Шифра:

 Суб ВБАЦалл2 () Дим Нум3 Ас Лонг Дим Нум4 Ас Лонг Дим Анс2 Ас Лонг Нум3 = 100 Нум4 = 50 Анс2 = Нум3 + Нум4 Енд Суб 

Сада користите ВБА објект на сличан начин као што је претходно наведено и дајте затим ћелију домета као Б2 за одговор и Ц2 за излаз Анс2 .

Шифра:

 Под ВБАЦалл2 () Дим Нум3 Ас Дуги Дим Нум4 Као дуги Дим Анс2 Као дуги Нум3 = 100 Нум4 = 50 Анс2 = Нум3 + Нум4 Радни листови (1) .Ранге ("Б2"). Вредност = "Одговори" Радни листови (1) .Ранге ("Ц2") Вредност = Анс2 Крај Суб 

Да бисте оба резултата позвали један по један, користите функцију позива која му даје име 2. поткатегорије као што је приказано у наставку.

Шифра:

 Под ВБАЦалл () Дим Нум1 Ас Лонг Дим Нум2 Ас Лонг Дим Анс1 Ас Лонг Нум1 = 100 Нум2 = 50 Анс1 = Нум1 * Нум2 Ворксхеетс (1) .Ранге ("Б1"). Валуе = "Ансвер" Ворксхеетс (1) .Ранге ("Ц1") Вредност = Анс1 Позив ВБАЦалл2 Крај Суб Суб ВБАЦалл2 () Дим Нум3 Ас Лонг Дим Нум4 Ас Лонг Дим Анс2 Ас Лонг Нум3 = 100 Нум4 = 50 Анс2 = Нум3 + Нум4 Радни листови (1) .Ранге ("Б2" ) .Валуе = "Одговор" Радни листови (1) .Ранге ("Ц2"). Вредност = Анс2 Крај Под 

Сада саставите цео код и покрените. Ми ћемо први у ћелији Ц2, добили смо резултат множења, а у ћелији Ц3, резултат сабирања.

Да бисмо знали правилан редослед, можемо користити наредбу МсгБок како се користи у Примеру 1 и видети које се вредности позивају у којој секвенци.

Предности Екцел ВБА позива Суб

  • ВБА Цалл Суб штеди време у писању истог кода стално и поново.
  • Позивањем ВБА складишта потпроцедура у истом екцелу смањује се и величина датотеке екцел.

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

  • Користите оквир за поруке у сврху испитивања да бисте видели секвенцијално покретање више кодова.
  • Компилирајте веће кодне линије притиском на типку Ф8 како би се дио грешке могао препознати.
  • Сачувајте датотеку у формату макро Омогући Екцел да бисте задржали писани код.
  • Употреба ЦАЛЛ пре Енд ће прво покренути први код, а након првог Субпроцедура прво покренути други код.

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

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

  1. ВБА До петље
  2. СУБТОТАЛ Формула у Екцелу
  3. ВБА Док је петља
  4. Подстринг Екцел функција

Категорија: