Преглед садржаја
У овом чланку ћу вам показати како можете позвати Суб из другог Суб или Фунцтион у ВБА у Екцел . Научићете да позовете Суб са или без аргумената, као и Публиц и Привате Субс .
Како позвати суб у ВБА у Екцел-у (брзи преглед)
Напомена: Овде Суб под називом Суб2 позива Суб под називом Суб1 .
Преузми радну свеску за вежбу
ВБА Цалл Суб.клсм
Преузмите ову вежбу да бисте вежбали задатак док читате овај чланак.
4 начина да позовете суб у ВБА у Екцел
Овде имамо Суб у ВБА под називом Суб1 .
Ако покренете Суб1 , добићете поруку „Суб1 ис Рун.“
Данас наш циљ је да научимо како можемо назвати ово Суб из друге Суб или Фунцтион на све могуће начине.
1. Позовите под без аргумената из другог подподлога у ВБА у програму Екцел
Прво, позваћемо под без икаквог аргумента из другог под у ВБА .
Овде, Суб1 је Суб без аргумената.
Сада ћемо позвати Суб Суб1 од другог Суб званог Суб2 .
Да бисте позвали Суб Суб1 из другог Суб , морате да користите линију кода:
Sub1
Или
Call Sub1
Сада ако покренете Суб2 , Суб1 ће бити позван и порука “Суб1 ис Рун.” ће бити приказана.
2. Позовите под са аргументима из другог подподлога у ВБА у програму Екцел
Сада ћемо позвати под са аргументима из другог под у ВБА .
Овде смо променили Суб Суб1 на такав начин да садржи аргумент под називом Инпут_Валуе , и када рун, приказује тај аргумент.
Да бисте позвали овај Суб из другог Суб ( Суб2 ), морамо да користимо линију кода:
Sub1(Input_Value)
Или
Call Sub1(Input_Value)
Овде смо користили:
Call Sub1(10)
Сада, када покренемо Суб2 , Суб1 ће бити позван са уносом 10 , а 10 ће бити приказан у Кутија за поруке .
Слична очитавања:
- Како вратити вредност у ВБА функцији (и вредности низа и вредности које нису низ)
- Користите функцију ЛЦасе у ВБА у Екцел-у (са 4 примера)
- Како да Користите функцију ВБА СПЛИТ у Екцел-у (5 примера)
- Користите функцију ТРИМ у ВБА у Екцел-у (дефиниција + ВБА код)
3. Позовите суб са/без аргумената из кориснички дефинисане функције у ВБА у Екцел-у
Такође можете позвати Суб из кориснички дефинисане функције у ВБА .
⧭ Суб без аргумената
Позовимо прво Суб без аргумената .
Опет смо се променили Суб Суб1 на ону без аргумената.
Сада ћемо креирати Фунцтион тзв. Функција1 и позовите Суб1 из те функције.
Да бисте позвали Суб из функције, линија кода која се користи је иста :
Sub1
Или
Call Sub1
Сада, ако уметнете Фунцтион1 у било коју ћелију вашег радног листа, Суб1 ће бити позван и Бокс за поруке ће приказати „Суб1 ис Рун.“ .
⧭ Под са аргументима
Такође можете позвати Суб са аргументима из кориснички дефинисане функције у ВБА у Екцел .
Овде смо поново променили Суб1 у онај са аргументима.
Сада смо позвали Суб1 са Функција1 према линији кода:
Call Sub1(10)
Сада ако убацимо Фунцтион1 у било којој ћелији нашег радног листа, приказаће 10 у Боксу за поруке .
4. Позивање приватног суб-а из другог под или функције у ВБА у Екцел-у
До сада смо звали јавни под из другог суб или Функција . Овог пута ћемо показати како можете да позовете Привате Суб из другог Суб или Фунцтион у ВБА .
⧭ Позивање са суб:
Можете позвати приватну под само из другог под ако два су у истом модулу вашег ВБА прозора.
Овдепроменили смо Суб1 у Привате Суб додавањем термина Привате у првом реду. И позвао га из Суб2 који је у истом модулу.
Сада ако покренете Суб2 , добићете Бокс за поруке који приказује 10 .
⧭ Позивање из функције:
Исто за функције. Да бисте позвали Привате Суб из Фунцтион у ВБА , Суб и Фунцтион морају бити у исти модул.
Овде смо убацили Привате Суб Суб1 и Фунцтион Фунцтион1 у исти модул.
Сада ако убацимо Фунцтион1 у било коју ћелију нашег радног листа, Порука за поруке ће приказати 10 .
Резиме
Ево резимеа свих тачака о којима се данас расправља:
- Можете позвати Суб из друге Суб или кориснички дефинисане функције у ВБА користећи термин “Цалл” са именом од Суб , или једноставно стављање имена Суб .
- Ако Суб који се позива садржи аргумент , морате позвати Суб са било којом вредношћу тог аргумента .
- Ако је Суб који треба да се позове декларисано као Приватан , морате га позвати из другог Суб или Фунцтион истог модула.
Закључак
Користећи ове методе, можете позвати Суб из друге Суб или Фунцтион у ВБА у Екцел-у. Имате било каквих питања? Слободно нас питајте.