Подпрограма 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

Обяснение на синтаксиса

код действие
  • „Лична подмоя подрутина(…)“
  • Тук ключовата дума „Sub“ се използва за деклариране на подпрограма с име „mySubRoutine“ и стартиране на тялото на подпрограмата.
  • Ключовата дума Private се използва за указване на обхвата на подпрограмата
  • „ByVal arg1 като низ, ByVal arg2 като низ“:
  • Той декларира два параметъра от име на низ тип данни arg1 и arg2
  • „End Sub“
  • „End Sub“ се използва за завършване на тялото на подпрограмата

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

Сега ще програмираме и изпълним тази подпроцедура. Нека видим това.

Как да извикате Sub във VBA

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

  1. Проектирайте потребителския интерфейс и задайте свойствата за потребителските контроли.
  2. Добавете подпрограмата
  3. Напишете кода на събитието за щракване за командния бутон, който извиква подпрограмата
  4. Тествайте приложението

Стъпка 1) User Interface

Проектирайте потребителския интерфейс, както е показано на изображението по-долу.

Как да извикате 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, която приема два параметъра на низ.
  • „ByVal firstName като низ, ByVal lastName като низ“
  • Той декларира две параметърни променливи firstName и lastName
  • съобщBox име & ” ” & фамилия”
  • Извиква 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

Oбобщение

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