VBA Call Sub (Ръководство стъпка по стъпка) - Как да се обадя на подпрограма в Excel VBA?

Какво е Call Sub във VBA?

Можем да изпълним всички подпроцедури на един и същ модул в една подпрограма и процеса на изпълнението им в една подпрограма на VBA, наречена „Call Sub“.

В някои от случаите може да се наложи да напишем огромно количество код и записването им в един макрос създава много проблеми при отстраняване на грешки в кода. В началото всички са склонни да правят това чисто поради липсата на познания по метода „Call Sub“.

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

Как да се обадя на подпрограма в Excel VBA?

Изпълнението на макроса на Excel от една процедура в друга улеснява живота само въз основа на спестяване на много време, докато се изпълнява, както и докато отстранява грешки в кода в случай на грешка.
Код:

Подкод_1 () Обхват ("A1"). Стойност = "Здравейте" Край Подкод_2 () Обхват ("A1"). Вътрешен.Цвят = rgbAquamarine Краен под

В горното изображение имаме два подпроцедури. Първият е „Код_1“, а вторият е „Код_2“.

В първия подкод за повикване на VBA току-що написах код, за да вмъкна стойност в клетка А1 като „Здравейте“. Във втората подпроцедура написах кода за промяна на вътрешния цвят на клетка А1 на „rgbAquamarine“.

Сега ще стартирам първия код, т.е. „Code_1”.

Сега ще стартирам втория код, т.е. “Code_2”.

Тук съм изпълнил кода пъти.

Използвайки VBA „call sub“, можем да изпълним и двете подпроцедури само в един макрос. Трябва само да добавим думата „Call“, последвана от име на макрос.

Погледнете графичната снимка по-долу.

Споменах кода като „Call Code_2” само в първата подпроцедура. Сега, за да разберем, нека пуснем кода ред по ред. Натиснете клавиша F8. Той ще подчертае името на макроса.

Натиснете клавиша F8 още веднъж, за да премине към следващия ред.

Жълтият ред показва маркирания код, който е на път да се изпълни, ако натиснем клавиша F8 още веднъж. Натиснете клавиша F8 сега.

Както виждаме, той е вмъкнал думата „Hello“ в клетката A1. Сега е подчертана линията „Call Code_2”.

“Call Code_2” има за задача да промени вътрешния цвят на клетка A1 и думата “Call Code_2” ще изпълни този код само от действителната подпроцедура.

Но натиснете клавиша F8, за да видите магията.

Той е преминал към споменатото име на подпроцедура. Натиснете клавиша F8 още веднъж.

Сега е подчертан действителният ред на задачите, за да изпълните този натиснете клавиша F8 още веднъж.

По този начин можем да изпълним много подпроцедури от една подпроцедура, като извикаме подпроцедурата по тяхно име с думата „Call“.

Забележка:

  • Можем да изпълним макроса на друга подпроцедура, без да използваме думата „Call“, а само като споменем самото име на макроса.
  • Това не е най-добрата практика, защото ако подпроцедурата на макроса съдържа скоби, които искате да изпълните, тогава думата „Call“ е задължителна.
  • По мое лично мнение винаги използвайте думата „Call“, защото това е просто дума от 4 букви, която позволява на другите да разберат правилно кода.

Интересни статии...