Определенные пользователем функции в Excel VBA
Ниже мы рассмотрим программу в Excel VBA, который создает определенные пользователем функции. Excel имеет большой набор функций. В большинстве случаев эти функции достаточно, чтобы получить работу. Если нет, то вы можете создать свою собственную функцию под названием User Defined Function или пользовательские функции Excel. Вы можете получить доступ к определенному пользователю функции, как и любой другой функция Excel.
Мы хотим создать функцию, называемую SUMEVENNUMBERS, которая находит сумму четных чисел случайно выбранного диапазона.
Ситуация:
Пользовательские функции должны быть помещены в модуль.
-
Откройте редактор Visual Basic и выберите Вставка, модуль.
-
Добавьте следующую строку кода:
Function SUMEVENNUMBERS(rng As Range)
Название нашей функции является SUMEVENNUMBERS. Часть в скобках означает, что мы даем Excel VBA диапазон в качестве входных данных. Мы называем наш диапазон ГСЧ, но вы можете использовать любое имя.
-
Далее, мы объявляем объект Range и назовите его клеткой.
Dim cell As Range
-
Мы хотим, чтобы проверить каждую ячейку в случайно выбранном диапазоне (этот диапазон может быть любого размера). В Excel VBA, вы можете использовать для каждого следующего цикла для этого. Добавьте следующие строки кода:
For Each cell In rng Next cell
Примечание: ячейка случайным образом выбирается здесь, вы можете использовать любое имя.
-
Далее, мы проверяем для каждого значения в этом диапазоне, является ли оно четным или нет. Мы используем оператор 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
-
Только если это утверждение верно, мы добавляем значение SUMEVENNUMBERS.
Добавьте следующую строку кода в операторе If.
SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value
-
Не забудьте закончить эту функцию (вне цикла).
End Function
-
Теперь вы можете использовать эту функцию, так же как и любую другую функцию Excel, чтобы найти сумму четных чисел случайно выбранный диапазон.
Результат:
Отлично сработано! Вот как легко определяемые пользователем функции в Excel VBA есть.
Примечание: эта функция доступна только в этой книге.