Подпрограма на Excel VBA: Как да извикате Sub в VBA с пример

Съдържание:

Anonim

Какво представлява подпрограмата във VBA?

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

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

В този урок на VBA ще научите -

  • Защо да използваме подпрограми
  • Правила за именуване на подпрограми и функции
  • Синтаксис на подпрограмата на VBA
  • Как да се обадите на Sub във VBA

Защо да използваме подпрограми

  • Разбийте кода на малък управляем код : Средната компютърна програма има хиляди и хиляди редове с изходен код. Това въвежда сложност. Подпрограмите помагат за решаването на този проблем, като разбиват програмата на малки управляеми парчета код.
  • Многократна употреба на кода . Да приемем, че имате програма, която трябва да има достъп до базата данни, почти всички прозорци в програмата ще трябва да взаимодействат с базата данни. Вместо да пишете отделен код за тези прозорци, можете да създадете функция, която обработва всички взаимодействия с базата данни. След това можете да го извикате от който и прозорец да искате.
  • Подпрограмите и функциите се самодокументират . Да приемем, че имате функция calcuLoanInterest и друга, която казва connectToDatabase. Само като погледнете името на подпрограмата / функцията, програмистът ще може да каже какво прави програмата.

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

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

  • Името на функцията за извикване на подпрограма или VBA не може да съдържа интервал
  • Подзапис за повикване на Excel VBA или име на функция трябва да започва с буква или долна черта. Не може да започва с номер или специален символ
  • Подпрограма или име на функция не може да бъде ключова дума. Ключовата дума е дума, която има специално значение във VBA. Думи като Private, Sub, Function и End и т.н. са примери за ключови думи. Компилаторът ги използва за конкретни задачи.

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

Ще трябва да активирате раздела за програмисти в Excel, за да следвате заедно с този пример. Ако не знаете как да активирате раздела за програмисти, прочетете урока за VBA Operators

ТУК в синтаксиса,

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

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

Код

Действие

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

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

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

Как да се обадите на Sub във VBA

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

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

Стъпка 1) Потребителски интерфейс

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

Задайте следните свойства. Свойствата, които задаваме

S / N Контрол Имот Стойност
1 CommandButton1 Име btnDisplayFullName
2 Надпис Пълно име Подпрограма

Вашият интерфейс сега трябва да изглежда както следва

Стъпка 2) Добавете подпрограма

  1. Натиснете Alt + F11, за да отворите прозореца с код
  2. Добавете следната подпрограма
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)MsgBox firstName & " " & lastNameEnd Sub

ТУК в кода,

Код

Действия

  • „Частен поддисплейFullName (…)“
  • Той декларира частна подпрограма displayFullName, която приема два низови параметъра.
  • "ByVal firstName As String, ByVal lastName As String"
  • Той декларира две променливи на параметри firstName и lastName
  • MsgBox firstName & "" & lastName "
  • Той извиква вградената функция MsgBox, за да покаже съобщение. След това предава променливите „firstName“ и „lastName“ като параметри.
  • Амперсандът "&" се използва за обединяване на двете променливи и добавяне на празно пространство между тях.

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

  • Щракнете с десния бутон върху командния бутон, както е показано на изображението по-долу. Изберете Преглед на кода.
  • Ще се отвори редакторът на кода

Добавете следния код в редактора на код за събитието за щракване на командния бутон btnDisplayFullName.

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

Вашият прозорец на кода сега трябва да изглежда както следва

Запазете промените и затворете прозореца на кода.

Стъпка 4) Тестване на кода

В лентата с инструменти за разработчици изключете режима на проектиране. Както е показано по-долу.

Стъпка 5) Щракнете върху командния бутон „Подпрограма FullName“.

Ще получите следните резултати

Изтеглете горния код на Excel

Резюме:

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