Урок за функции на Excel VBA: връщане, повикване, примери

Какво е функция?

Функцията е част от код, която изпълнява конкретна задача и връща резултат. Функциите се използват най-вече за извършване на повтарящи се задачи като форматиране на данни за изход, извършване на изчисления и др.

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

Защо да използвате функции

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

Правила за именуване на функции

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

Синтаксис на VBA за деклариране на функция

Private Function myFunction (ByVal arg1 As Integer, ByVal arg2 As Integer)
    myFunction = arg1 + arg2
End Function

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

код действие
  • „Частна функция myFunction(…)“
  • Тук ключовата дума „Function“ се използва за деклариране на функция с име „myFunction“ и стартиране на тялото на функцията.
  • Ключовата дума 'Private' се използва за определяне на обхвата на функцията
  • „ByVal arg1 като цяло число, ByVal arg2 като цяло число“
  • Той декларира два параметъра от целочислен тип данни, наречени „arg1“ и „arg2“.
  • myFunction = arg1 + arg2
  • оценява израза arg1 + arg2 и присвоява резултата на името на функцията.
  • „Крайна функция“
  • „End Sub“ се използва за завършване на тялото на функцията

Функция, демонстрирана с пример:

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

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

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

Добавете команден бутон към работния лист, както е показано по-долу

VBA функции и подпрограма

Задайте следните свойства на CommanButton1 на следното.

S / N контрол Имот Стойност
1 CommandButton1 Име btnAddNumbers
2 Надпис Добави Numbers функция


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

VBA функции и подпрограма

Стъпка 2) Функционален код.

  1. Натиснете Alt + F11, за да отворите прозореца с код
  2. Добавете следния код
Private Function addNumbers(ByVal firstNumber As Integer, ByVal secondNumber As Integer)
    addNumbers = firstNumber + secondNumber
End Function

ТУК в кода,

код действие
  • „Добавяне на частна функцияNumbers(...) "
  • Той декларира частна функция „addNumbers”, който приема два целочислени параметъра.
  • „ByVal firstNumber като цяло число, ByVal secondNumber като цяло число“
  • Той декларира две параметърни променливи firstNumber и secondNumber
  • “добаветеNumbers = първо число + второ число”
  • Той добавя стойностите firstNumber и secondNumber и присвоява сумата за добавянеNumbers.

Стъпка 3) Напишете код, който извиква функцията

  1. Щракнете с десния бутон върху btnAddNumbers_Щракнете върху командния бутон
  2. Изберете Преглед на кода
  3. Добавете следния код
Private Sub btnAddNumbersFunction_Click()
    MsgBox addNumbers(2, 3)
End Sub

ТУК в кода,

код действие
„MsgBox добаветеNumbers(един) "
  • Той извиква функцията addNumbers и преминава в 2 и 3 като параметри. Функцията връща сумата от двете числа пет (5)

Стъпка 4) Стартирайте програмата и ще получите следните резултати

VBA функции и подпрограма

Изтеглете Excel, съдържащ горния код

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

Oбобщение

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