/ / Визначена користувачем функція в Excel VBA

Визначена користувачем функція в Excel VBA

Нижче ми розглянемо програму в Росії Excel VBA що створює a Визначена користувачем функція. Excel має велику колекцію функцій. У більшості випадків ці функції є достатніми для виконання роботи. Якщо ні, ви можете створити свою власну функцію, яка називається призначеною користувачем функцією або користувальницька функція Excel. Ви можете отримати доступ до функції, визначеної користувачем, як і будь-яка інша функція Excel.

Ми хочемо створити функцію SUMEVENNUMBERS, яка знаходить суму рівних чисел випадково вибраного діапазону.

Ситуація:

Визначена користувачем функція в Excel VBA

Визначені користувачем функції повинні бути поміщені в модуль.

1. Відкрийте редактор Visual Basic і натисніть «Вставити», «Модуль».

2. Додайте наступну кодову лінію:

Function SUMEVENNUMBERS(rng As Range)

Назва нашої функції - SUMEVENNUMBERS. Частина між дужками означає, що ми подаємо Excel VBA як діапазоні вхідних даних. Ми називаємо наш діапазон rng, але ви можете використовувати будь-яке ім'я.

3. Потім оголошуємо об'єкт Range та називаємо це клітиною.

Dim cell As Range

4. Ми хочемо перевірити кожну комірку у випадково вибраному діапазоні (цей діапазон може бути будь-якого розміру). У програмі Excel VBA ви можете використовувати для кожного циклу Next для цього. Додайте наступні кодові рядки:

For Each cell In rng

Next cell

Примітка: клітина випадково вибрана тут, ви можете використовувати будь-яке ім'я.

5 Далі ми перевіряємо, чи для кожного значення в цьому діапазоні це чи ні. Для цього ми використовуємо оператор Mod. Оператор Mod надає решту розділу. Таким чином, 7 мод 2 дає значення 1. 7 розділяється на 2 (3 рази), щоб дати залишок від 1. Сказавши це, легко перевірити, чи є число навіть чи ні. Тільки якщо решта числа, поділене на 2, становить 0, то число рівне. 8 мод 2 дає 0, 8 розділений на 2 точно 4 рази, і тому 8 рівний. Додайте наступне заяву до коду для кожної наступної.

If cell.Value Mod 2 = 0 Then

End If

6. Тільки якщо це твердження буде вірним, ми додамо значення до SUMEVENNUMBERS. Додайте наступну кодову лінію в операторі "if".

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. Не забудьте закінчити функцію (поза циклом).

End Function

8. Тепер ви можете використовувати цю функцію, як і будь-яку іншу функцію Excel, щоб знайти суму рівних чисел випадково вибраного діапазону.

Результат:

Визначена користувачем функція результату

Добре зроблено! Це те, наскільки легко користувальницькі функції в Excel VBA. Примітка: ця функція доступна лише в цій робочій книзі.

Також читайте: