Учебное пособие по функциям Excel VBA: возврат, вызов, примеры

Что такое функция?

Функция — это фрагмент кода, который выполняет определенную задачу и возвращает результат. Функции в основном используются для выполнения повторяющихся задач, таких как форматирование данных для вывода, выполнение вычислений и т. д.

Предположим, вы разрабатываете программу, рассчитывающую проценты по кредиту. Вы можете создать функцию, которая принимает сумму кредита и срок его погашения. Затем функция может использовать сумму кредита и срок его погашения для расчета процентов и возврата значения.

Зачем использовать функции

Преимущества использования функций такие же, как и в приведенном выше разделе о том, зачем использовать подпрограммы.

Правила именования функций

Правила именования функций такие же, как и в приведенном выше разделе о правилах именования подпрограмм.

Синтаксис VBA для объявления функции

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

ЗДЕСЬ в синтаксисе,

Code Экшн
  • «Частная функция myFunction(…)»
  • Здесь ключевое слово «Function» используется для объявления функции с именем «myFunction» и запуска тела функции.
  • Ключевое слово Private используется для указания области действия функции.
  • «ByVal arg1 как целое число, ByVal arg2 как целое число»
  • Он объявляет два параметра целочисленного типа данных с именами «arg1» и «arg2».
  • мояФункция = arg1 + arg2
  • вычисляет выражение arg1 + arg2 и присваивает результат имени функции.
  • «Конечная функция»
  • «End Sub» используется для завершения тела функции.

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

Функции очень похожи на подпрограмму. Основное различие между подпрограммой и функцией заключается в том, что функция возвращает значение при вызове. Хотя подпрограмма не возвращает значение при ее вызове. Допустим, вы хотите сложить два числа. Вы можете создать функцию, которая принимает два числа и возвращает сумму чисел.

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

Шаг 1) Интерфейс пользователя

Добавьте командную кнопку на лист, как показано ниже.

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

Установите следующие свойства CommanButton1 следующим образом.

S / N Контролировать недвижимость Значение
1 КомандаКнопка1 Имя бтнДобавитьNumbers
2 Подпись Добавить Numbers Функция


Ваш интерфейс теперь должен выглядеть следующим образом

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

Шаг 2) Код функции.

  1. Нажмите Alt + F11, чтобы открыть окно кода.
  2. Добавьте следующий код
Private Function addNumbers(ByVal firstNumber As Integer, ByVal secondNumber As Integer)
    addNumbers = firstNumber + secondNumber
End Function

ЗДЕСЬ в коде,

Code Экшн
  • «Частная функция добавитьNumbers(...) "
  • Он объявляет частную функцию «addNumbers», который принимает два целочисленных параметра.
  • «ByVal firstNumber как целое число, ByVal SecondNumber как целое число»
  • Он объявляет две переменные параметра firstNumber и SecondNumber.
  • "ДобавитьNumbers = первый номер + второй номер»
  • Он добавляет значения firstNumber и SecondNumber и назначает сумму для сложения.Numbers.

Шаг 3) Напишите код, вызывающий функцию

  1. Щелкните правой кнопкой мыши по btnAdd.Numbers_Нажмите командную кнопку
  2. Выберите «Просмотреть код».
  3. Добавьте следующий код
Private Sub btnAddNumbersFunction_Click()
    MsgBox addNumbers(2, 3)
End Sub

ЗДЕСЬ в коде,

Code Экшн
«СообщениеBox добавитьNumbers(2,3) "
  • Он вызывает функцию addNumbers и передает в качестве параметров 2 и 3. Функция возвращает сумму двух чисел пять (5)

Шаг 4) Запустите программу, вы получите следующие результаты

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

Загрузите Excel, содержащий приведенный выше код.

Загрузите приведенный выше код Excel

Резюме

  • Функция — это фрагмент кода, выполняющий определенную задачу. Функция возвращает значение после выполнения.
  • И подпрограммы, и функции обеспечивают возможность повторного использования кода.
  • И подпрограммы, и функции помогают разбить большие куски кода на небольшой управляемый код.