Вступ до Excel VBA для виклику Sub

У VBA у нас є функція CALL, яка використовується для виклику значень, що зберігаються в іншій підкатегорії або процедурі Sub. Припустимо, що ми написали код десь у робочій книжці, зараз під час написання іншого коду нам потрібен той самий код, який було написано раніше. Таким чином, замість того, щоб писати той самий код ще раз, ми можемо викликати цей повний код або процедуру Sub у поточну підкатегорію чи процедуру Sub. Таким чином можна уникнути повторної і тієї ж діяльності робочої книги.

Як зателефонувати на Sub в Excel VBA?

Нижче наведено різні приклади виклику Sub у Excel VBA:

Ви можете завантажити цей шаблон шаблону Sub Excel для викликів тут - Шаблон VBA для виклику Sub Excel

Під-приклад виклику Excel VBA - Приклад №1

По-перше, давайте подивимося на єдиний приклад, коли ми будемо НАЗВАЧИТИ вже написану кодову підкатегорію чи процедуру. Для цього нам потрібен модуль.

Перейдіть до вікна VBA і під опцією Вставити меню натисніть на Модуль, як показано нижче.

Після цього ми отримаємо порожню сторінку або вікно Модуля. Тепер у цьому запишіть підкатегорію коду, який ми виконуємо, або будь-яке інше ім’я, як показано нижче.

Код:

 Sub Calling () Закінчення Sub 

Тепер скористайтеся командою вікна повідомлень і введіть будь-який текст або слово, яке ви хочете бачити у полі повідомлень. Тут ми використовуємо " Перший ", як показано нижче.

Код:

 Sub Calling () MsgBox ("Перший") End Sub 

Тепер складіть код і запустіть його, натиснувши на кнопку Відтворити, що знаходиться під рядком меню. Ми побачимо вікно повідомлень, що містить повідомлення " Перший ", як показано нижче.

Тепер після закінчення в тому ж модулі напишіть іншу підкатегорію або процедуру в будь-якому імені, як показано нижче.

Код:

 Sub Прибуття () Кінець Sub 

Знову ж використовуйте команду MsgBox і надайте їй повідомлення або текст відповідно до вашого вибору. Ось ми дали це " Друге ", як показано нижче.

Код:

 Sub Arriving () MsgBox ("Другий") End Sub 

Тепер, якщо ми запустимо повний код, тоді ми отримаємо вихід лише останньої підкатегорії, яка є полем із повідомленням, що містить повідомлення " Друге ", як показано нижче.

Тут з'являється функція CALL, яку ми використаємо для виклику обох повідомлень по одному. Це буде використано в першій підкатегорії.

Для цього типу Виклик у першій підкатегорії перед Кінцем, а потім ім'я тієї підкатегорії, код якої ми хочемо викликати. Згодом MsgBox ми використовуємо Call, а потім - Прибуття, що є підкатегорією коду, написаного нижче.

Код:

 Sub Calling () MsgBox ("Перший") End Arriving End Sub Sub Subriving () MsgBox ("Second") End Sub 

Тепер складіть повний код від початку до кінця та запустіть його. Ми побачимо вікно повідомлень, назване із повідомленням "Перший". Тепер натисніть кнопку Ок, щоб продовжити далі. Як тільки ми це зробимо, ми отримаємо друге поле повідомлення, яке містить повідомлення " Друге ", як показано нижче. І якщо знову натиснути Ок, то він вийде з процедури.

Що робити, якщо ми змінимо позицію функції виклику від закінчення до закінчення до після першої підкатегорії, як показано нижче? Тепер дозвольте запустити повний код ще раз.

Код:

 Sub Calling () Прибуття виклику MsgBox ("Перший") End Sub Sub Надходження () MsgBox ("Second") End Sub 

Він з'явиться повідомлення, яке зберігається у другому підпроцедурі, першому, який є " Другим ", а потім " Перше ", коли ми натиснемо Ок, як показано нижче.

Тож саме від нас залежить, яку саме процедуру чи категорію ми хочемо назвати першими.

Під-приклад виклику Excel VBA - Приклад №2

Подивимось ще один приклад, коли ми будемо використовувати функцію Call для виклику різних підкатегорій. Для цього нам потрібен новий модуль. Відкрийте модуль у меню Вставка. І це дає підкатегорію в будь-якій назві, як показано нижче.

Код:

 Sub VBACall () Кінець Sub 

Визначте 3 змінні Num1, Num2 та Ans1 у DIM та призначте потім Long . Ми також можемо використовувати Integer або Double, залежно від використання. Довга дозволить нам розглянути будь-яку довжину числа.

Код:

 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. Для цього виберіть аркуш із командою Workheet і надайте йому діапазон будь-якої комірки. Ми вибрали комірку діапазону як B1. І нарешті надрукуйте результат будь-яким ім'ям, таким як Результат або Відповідь, як показано нижче.

Код:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Worksheets (1) .Range ("B1"). Value = "Answer" End Sub 

Тепер дайте йому місце, де ми хочемо побачити відповідь у тому ж порядку, як показано вище. Тут ми вибираємо клітинку С1 як вихідну комірку і поміщаємо сюди останню змінну Ans1 .

Код:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Worksheets (1) .Range ("B1"). Value = "Відповісти" Робочі листи (1) .Range ("C1"). Значення = Ans1 Кінець Підряд 

Тепер запустіть код. Ми побачимо результат множення в комірці C1.

Написання іншої підкатегорії під тим же кодом після завершення.

Код:

 Sub VBACall2 () Кінець 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 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub 

Тепер використовуйте VBA Object аналогічним способом, як було використано вище, і дайте тоді клітинку діапазону як B2 для відповіді та C2 для виведення Ans2 .

Код:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Робочі таблиці (1) .Range ("B2"). Значення = "Відповісти" Робочі листи (1). ("C2") Значення = Ans2 Кінець Підряд 

Щоб викликати обидва результати по одному, скористайтеся функцією Call, яка дає йому назву 2- ї підкатегорії, як показано нижче.

Код:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Worksheets (1) .Range ("B1"). Value = "Відповісти" Робочі листи (1) .Range ("C1"). Значення = Ans1 Виклик VBACall2 Кінець Sub Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Робочі таблиці (1) .Range ("B2" ) .Value = "Відповісти" Робочі таблиці (1) .Ранг ("C2"). Значення = Ans2 Кінець підряд 

Тепер складіть весь код і запустіть. Ми будемо першими в комірці С2, отримали результат множення, а в клітинку С3 - результат додавання.

Щоб знати правильну послідовність, ми можемо використовувати команду MsgBox, як використовується в Прикладі-1, і побачити, які значення викликаються в якій послідовності.

Плюси Excel VBA Call Sub

  • VBA Call Sub заощаджує час на написання одного і того ж коду знову і знову.
  • Виклик у сховищі додаткової процедури VBA також зменшує розмір файлу excel.

Що потрібно пам’ятати

  • Використовуйте поле повідомлень для тестових цілей, щоб побачити послідовний запуск декількох кодів.
  • Скомпілюйте більші рядки коду, натиснувши клавішу F8, щоб можна було ідентифікувати частину помилки.
  • Збережіть файл у форматі Macro Enable Excel, щоб зберегти записаний код.
  • Використовуючи CALL до кінця, перший запустить перший код, а після першого підпроцедуру спочатку запустить другий код.

Рекомендовані статті

Це посібник по VBA Call Sub. Тут ми обговорюємо, як зателефонувати на Sub в Excel VBA разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. VBA робити до циклу
  2. SUBTOTAL Формула в Excel
  3. VBA Хоча петля
  4. Функція Substring Excel

Категорія: