Підпрограма Excel VBA: як викликати Sub у VBA за допомогою прикладу

Що таке підпрограма у VBA?

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

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

Навіщо використовувати підпрограми

  • Розбийте код на невеликий керований код: Середня комп’ютерна програма має тисячі й тисячі рядків вихідного коду. Це вносить складність. Підпрограми допомагають вирішити цю проблему, розбиваючи програму на невеликі керовані фрагменти коду.
  • Можливість повторного використання коду. Скажімо, у вас є програма, якій потрібен доступ до бази даних, майже всі вікна програми повинні будуть взаємодіяти з базою даних. Замість написання окремого коду для цих вікон ви можете створити функцію, яка оброблятиме всі взаємодії з базою даних. Потім ви можете викликати його з будь-якого вікна.
  • Підпрограми та функції самодокументуються. Припустімо, у вас є функція CalculateLoanInterest і ще одна, яка каже connectToDatabase. Просто дивлячись на назву підпрограми/функції, програміст зможе зрозуміти, що робить програма.

Правила іменування підпрограм і функцій

Для використання підпрограм і функцій існує набір правил, яких потрібно дотримуватися.

  • Назва підпрограми або функції виклику VBA не може містити пробіл
  • Підрозділ виклику Excel VBA або ім’я функції має починатися з літери або підкреслення. Він не може починатися з числа чи спеціального символу
  • Назва підпрограми або функції не може бути ключовим словом. Ключове слово – це слово, яке має особливе значення VBA. Такі слова, як Private, Sub, Function і End тощо, є прикладами ключових слів. Компілятор використовує їх для конкретних завдань.

Синтаксис підпрограми VBA

Вам потрібно буде ввімкнути вкладку «Розробник» у Excel, щоб слідувати цьому прикладу. Якщо ви не знаєте, як увімкнути вкладку «Розробник», прочитайте підручник далі VBA Operaторс

ТУТ у синтаксисі,

Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)
    'do something
End Sub

Пояснення синтаксису

код дію
  • «Приватна підзаписка mySubRoutine(…)»
  • Тут ключове слово «Sub» використовується для оголошення підпрограми під назвою «mySubRoutine» і запуску тіла підпрограми.
  • Ключове слово Private використовується для визначення області дії підпрограми
  • «ByVal arg1 як рядок, ByVal arg2 як рядок»:
  • Він оголошує два параметри рядкового типу даних з іменами arg1 і arg2
  • «Кінець суб»
  • «End Sub» використовується для завершення тіла підпрограми

Наступна підпрограма приймає ім’я та прізвище та відображає їх у вікні повідомлення.

Тепер ми запрограмуємо та виконаємо цю підпроцедуру. Дай побачити це.

Як викликати Sub у VBA

Нижче наведено крок за кроком процес виклику Sub у VBA:

  1. Спроектуйте інтерфейс користувача та встановіть властивості для елементів керування користувача.
  2. Додайте підпрограму
  3. Напишіть код події клацання для командної кнопки, яка викликає підпрограму
  4. Тестуйте додаток

Крок 1) Інтерфейс користувача

Розробіть інтерфейс користувача, як показано на зображенні нижче.

Як викликати Sub у VBA

Установіть наступні властивості. Властивості, які ми встановлюємо:

S / N Контроль властивість значення
1 CommandButton1 ІМ'Я btnDisplayFullName
2 Підпис Повна назва підпрограми


Тепер ваш інтерфейс має виглядати наступним чином.

Як викликати Sub у VBA

Крок 2) Додати підпрограму

  1. Натисніть Alt + F11, щоб відкрити вікно коду
  2. Додайте наступну підпрограму
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

ТУТ у коді,

код Дії
  • «Приватне підпорядковане displayFullName(…)»
  • Він оголошує приватну підпрограму displayFullName, яка приймає два рядкові параметри.
  • «ByVal firstName як рядок, ByVal lastName як рядок»
  • Він оголошує дві змінні параметрів firstName і lastName
  • MsgBox ім'я прізвище"
  • Він викликає повідомлення MsgBox вбудована функція для відображення вікна повідомлень. Потім він передає змінні 'firstName' і 'lastName' як параметри.
  • Амперсанд «&» використовується для об’єднання двох змінних і додавання порожнього простору між ними.

Крок 3) Виклик підпрограми

Виклик підпрограми з події натискання командної кнопки.

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

Як викликати Sub у VBA

Додайте наступний код у редактор коду для події клацання командної кнопки btnDisplayFullName.

Private Sub btnDisplayFullName_Click()
    displayFullName "John", "Doe"
End Sub

Тепер ваше вікно коду має виглядати наступним чином

Як викликати Sub у VBA

Збережіть зміни та закрийте вікно коду.

Крок 4) Тестування коду

На панелі інструментів розробника вимкніть режим дизайну. Як показано нижче.

Як викликати Sub у VBA

Крок 5) Натисніть кнопку команди «Підпрограма повного імені».

Ви отримаєте такі результати

Як викликати Sub у VBA

Завантажте наведений вище код Excel

Підсумки

  • Підпрограма — це фрагмент коду, який виконує певне завдання. Підпрограма не повертає значення після виконання
  • Підпрограми пропонують повторне використання коду
  • Підпрограми допомагають розбивати великі фрагменти коду на невеликий керований код.