Въведение в Excel VBA Call Sub

В VBA имаме функция като CALL, която се използва за извикване на стойностите, съхранени в друга подкатегория или под процедура. Да предположим, че сме написали код някъде в работна книга, сега докато пишем друг код, ни трябва същия код, написан по-рано. Така че вместо да пишем отново същия код, можем да извикаме този пълен код или под процедура в текущата Подкатегория или Под процедура. По този начин може да се избегне извършването на една и съща дейност на работна книга отново и отново.

Как да се обадя на Sub в Excel VBA?

По-долу са различните примери за извикване на Sub в Excel VBA:

Можете да изтеглите този шаблон на VBA Call Sub Excel тук - VBA Call Sub Excel шаблон

Excel VBA Call Sub - Пример №1

Първо, нека да видим единичен пример, в който ще НАЗАДИМЕ вече написана кодова подкатегория или процедура. За това се нуждаем от модул.

Отидете на прозореца на VBA и под опцията Вмъкване на меню щракнете върху Модул, както е показано по-долу.

След това ще получим празна страница или прозорец на Модул. Сега в това напишете подкатегория код, която изпълняваме или в друго име, както е показано по-долу.

Код:

 Sub Calling () Край Sub 

Сега използвайте команда на полето за съобщения и въведете текст или дума, които искате да видите в полето за съобщения. Тук използваме „ Първо “, както е показано по-долу.

Код:

 Sub Calling () MsgBox ("First") End Sub 

Сега компилирайте кода и го стартирайте, като кликнете върху бутона Възпроизвеждане, който се намира под лентата на менюто. Ще видим поле със съобщение, съдържащо съобщението „ Първо “, както е показано по-долу.

Сега след края в същия модул напишете друга подкатегория или процедура в каквото и да е име, както е показано по-долу.

Код:

 Пристигане на Sub () Край Sub 

В това отново използвайте командата MsgBox и му давайте съобщение или текст според вашия избор. Тук сме го дали „ Втори “, както е показано по-долу.

Код:

 Пристигане на Sub () MsgBox ("Втори") Край Sub 

Сега ако пуснем пълния код, тогава ще получим изхода на само последната подкатегория, която е поле за съобщения, съдържащо съобщение „ Второ “, както е показано по-долу.

Тук идва функцията CALL, която ще използваме за извикване на двете съобщения едно по едно. Това ще бъде използвано в първата подкатегория.

За този тип Обадете се в първата подкатегория преди End, последвано от името на тази подкатегория, чийто код искаме да се обадим. Оттук нататък MsgBox използваме Call, последвано от Пристигане, което е името на подкатегорията на кода, написан по-долу.

Код:

 Sub Calling () MsgBox ("First") End Arriving End Sub Sub Subriving () MsgBox ("Second") End Sub 

Сега компилирайте пълния код от началото до края и го стартирайте. Ще видим полето със съобщение „Първо“. Сега кликнете върху ОК, за да продължите по-нататък. След като направим това, ще получим второто поле за съобщения, съдържащо съобщението „ Второ “, както е показано по-долу. И ако кликнете отново на Ок, тогава той ще излезе от процедурата.

Какво става, ако променим позицията на функцията за повикване от преди край до след първата подкатегория, както е показано по-долу? Сега нека пуснете пълния код отново.

Код:

 Sub Calling () Пристигане на повикване MsgBox ("First") End Sub Sub Пристигане () MsgBox ("Second") End Sub 

Той ще изскача съобщението, запаметено във втората подпроцедура първа, която е „ Втора “, последвана от съобщението „ Първо “, когато щракнем върху Ок, както е показано по-долу.

Така че всичко зависи от нас, коя Под процедура или категория искаме да се обадим първо.

Excel VBA Call Sub - Пример №2

Нека видим още един пример, в който ще използваме функция за обаждане, за да извикаме различна подкатегория. За това се нуждаем от нов модул. Отворете модул от менюто Вмъкване. И дава подкатегория във всяко име, както е показано по-долу.

Код:

 Sub VBACall () Край Sub 

Определете 3 променливи Num1, Num2 и Ans1 в DIM и присвойте след това с Long . Можем да използваме и Integer или Double, в зависимост от използването му. Long ще ни позволи да разгледаме всяка дължина на числото.

Код:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long End Sub 

Сега дайте на Num1 и Num2 всяко число по ваш избор. Ние сме им дали съответно 100 и 50 . Имайки предвид 100 и 50 ще ни помогне да идентифицираме бързо продукцията.

Код:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 as Long Num1 = 100 Num2 = 50 End Sub 

Сега използвайте формула за умножение, за да умножите запасите от числа в Num1 и Num2 и съхранявайте отговора им в променлива Ans1, както е показано по-долу.

Код:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 as Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 End Sub 

В следващия ред код ще използваме VBA обекта. За това изберете листа с команда Работен лист и му дайте диапазон от всяка клетка. Избрахме клетката за диапазон като B1. И най-накрая отпечатайте резултата с всяко име като Резултат или Отговор, както е показано по-долу.

Код:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 работни листове (1) .Ранг ("B1"). Value = "Answer" End Sub 

Сега му дайте мястото, където искаме да видим отговора по същия начин, както е показано по-горе. Тук избираме клетка C1 като изходна клетка и поставяме последната променлива Ans1 тук.

Код:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 as Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 работни листове (1) .Range ("B1"). Value = "Answer" Работни листове (1). ("C1") Стойност = Ans1 End Sub 

Сега стартирайте кода. Ще видим резултат от умножение в клетка С1.

Писане на друга подкатегория под същия код след End.

Код:

 Sub VBACall2 () End Sub 

Отново дефинирайте 3 променливи Num3, Num4 и Ans2 в DIM и присвойте след това с Long.

Код:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long End Sub 

Дайте на Num3 и Num4 същите стойности като 100 и 50 и добавете и двете числа.

Код:

 Sub VBACall2 () Dim Num3 толкова дълъг dim Num4 толкова дълъг dim Ans2 колкото дълъг Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 край Sub 

Сега използвайте VBA Object по подобен начин, както се използва по-горе и дайте след това диапазон клетка като B2 за отговор и C2 за извеждане на Ans2 .

Код:

 Под VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 as Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 работни листове (1) .Range ("B2"). Value = "Answer" Работни листове (1). ("C2") Стойност = Ans2 End Sub 

За да извикате и двата резултата един по един, използвайте функцията Call, която му дава името на 2- ра подкатегория, както е показано по-долу.

Код:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 as Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 работни листове (1) .Range ("B1"). Value = "Answer" Работни листове (1). ("C1"). Стойност = Ans1 обаждане VBACall2 край Sub Sub VBACall2 () Dim Num3 като дълъг dim Num4 като дълъг Dim Ans2 като дълъг Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 работни листове (1). Ранг ("B2" ) .Value = "Отговор" Работни листове (1) .Ранг ("C2"). Стойност = Ans2 End Sub 

Сега компилирайте целия код и стартирайте. Ще бъдем първи в клетка С2, получихме резултата от умножението и в клетката С3, резултат от добавянето.

За да знаем правилната последователност, можем да използваме командата MsgBox, както се използва в Пример-1, и да видим кои стойности се наричат ​​в каква последователност.

Плюсове на Excel VBA Call Sub

  • VBA Call Sub спестява време за писане на един и същ код отново и отново.
  • Обаждането в хранилището на подпроцедура VBA в същия excel също намалява размера на файла excel.

Неща, които трябва да запомните

  • Използвайте полето за съобщения за тестова цел, за да видите последователното изпълнение на множество кодове.
  • Компилирайте по-големите кодови редове, като натиснете клавиша F8, така че частта за грешка да бъде идентифицирана.
  • Запишете файла във формат Macro Enable Excel, за да запазите написания код.
  • Използването на CALL преди End ще стартира първия код първо, а след първата подпроцедура ще стартира втория код първо.

Препоръчителни статии

Това е ръководство за VBA Call Sub. Тук обсъждаме как да се обадите на Sub в Excel VBA, заедно с практически примери и изтеглящ се шаблон на excel. Можете да разгледате и другите ни предложени статии -

  1. VBA "До цикъл"
  2. SUBTOTAL Формула в Excel
  3. VBA Докато цикъл
  4. Функция Substring Excel

Категория: