Персонализирани функции на Excel - Създайте потребителски дефинирани функции

Как да създам персонализирани функции на Excel? (с примери)

За да създадем персонализирана функция, трябва да напишем код за работата на нашите собствени функции, който се нарича „UDF“. Потребителските функции са дефинирани от потребителя функции в Excel, така че за да създадете тези функции, трябва да знаете кодирането на VBA задълбочено.

Пример # 1 - Добавяне на произволни две числа

Например, ако искате да добавите произволни две числа, ние ще ви покажем проста потребителска функция (UDF).

  • Натиснете Alt + F11 и поставете модула.
  • Напишете код в модул, за да създадете персонализирана функция.

Всяка персонализирана функция трябва да започва с думата „Функция“, последвана от името на формулата.

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

След като параметрите са дефинирани с тип данни, трябва да дефинираме и типовете данни за резултата от резултата. Нека дефинираме резултата като стойността “Integer”.

Вътре в тази „Функционална процедура“ ще напишем кода на формулата.

Код:

Добавяне на функция (Num1 As Integer, Num2 As Integer) Като Integer Additiona = Num1 + Num2 End Function

Това казва, че резултатът от името на функцията „Добавяне“ ще бъде сумата от стойностите Num1 и Num2.

  • Сега се върнете на работния лист и въведете произволни две цели числа.
  • Сега ще добавим тези две числа. Отворете знака за равенство и въведете името на потребителската функция „Добавяне“.

Изберете първото и второто число, като въведете разделител като запетая (,).

  • Натиснете клавиша Enter, за да получите резултата.

Еха!!! Подобно на функцията SUM, ние получихме резултата от сумата от две числа.

Сега вижте тези цифри.

Опитайте да добавите тези две числа сега.

Получихме стойността на грешката, тъй като аргументите „Num1 & Num2“ типът данни е „Integer“, т.е. тези два аргумента могат да съдържат стойности между -32767 до 32767, така че всичко повече от това ще причини тези грешки.

Сега опитайте да добавите тези две числа.

Дори това ще доведе до стойност под грешката.

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

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

Пример # 2 - Добавяне на всички нечетни числа

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

Отворете прозореца на редактора на VBA и дайте име на процедурата за функция.

Задайте параметъра за тази функция като „Обхват“.

Това означава, че за тази функция предоставяме входната стойност за тази функция като „Обхват“ на стойностите на клетките.

Тъй като трябва да преминем през повече от една клетка, трябва да използваме цикъла „За всеки“ във VBA, така че отворете цикъла „За всеки“.

Вътре в този цикъл добавете кода по-долу.

Код:

Функция AddOdd (Rng As Range) за всяка клетка в Rng Ако клетка. Стойност Mod 2 0 След това AddOdd = AddOdd + клетка. Стойност Следваща клетка Крайна функция

Трябва да използваме функцията “MOD”, за да тестваме номера. Когато всяка стойност на клетката е разделена на числото 2, а остатъчната стойност не е равна на нула, тогава нашият код трябва да добави всички нечетни бройни стойности.

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

Изберете числовия диапазон от A1 до D8.

Натиснете клавиша Enter, за да получите резултата с „нечетен номер“.

И така, в диапазона от A1 до D8 имаме сумата от нечетни числа 84.

Пример # 3 - Добавяне на всички четни числа

По същия начин функцията по-долу ще добави всички четни числа.

Код:

Функция AddEven (Rng As Range) за всяка клетка в Rng Ако клетка. Стойност Mod 2 = 0 След това AddEven = AddEven + клетка. Стойност Следваща клетка Крайна функция

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

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

Неща за запомняне

  • Създаване на потребителски функции не са нищо друго освен потребителски определени функции.
  • За да създадете персонализирани функции, трябва да имате познания за усъвършенствани умения за кодиране на VBA.
  • Докато създавате персонализирани функции на Excel, важно е да следите аргументите и техните типове данни.

Интересни статии...