Excel VBA функции и Sub
Различие между функцией и подразделами в Excel VBA является то, что функция может возвращать значение в то время как к югу не может. Функции и подводные лодки стали очень полезны по мере увеличения размера программы.
Функция
Если вы хотите Excel VBA, чтобы выполнить задачу, которая возвращает результат, вы можете использовать функцию. Поместите функцию в модуль (в редакторе Visual Basic, выберите Вставка, модуль). Например, функция с именем зоны.
Function Area(x As Double, y As Double) As Double Area = x y End Function
Объяснение: Эта функция имеет два аргумента (тип Double) и тип возвращаемого значения (часть после как и типа Double). Вы можете использовать имя функции (Area) в своем коде, чтобы указать, какой результат вы хотите вернуться (здесь х у).
Теперь вы можете обратиться к этой функции (другими словами, вызовите функцию) где-то еще в вашем коде, просто используя имя функции и дает значение для каждого аргумента.
Поместите ссылка: VBA Create-A-макро-# командной кнопки [Кнопка управления] /
на листе и добавьте следующие строки кода:
Dim z As Double z = Area(3, 5) + 2 MsgBox z
Объяснение: Функция возвращает значение, так что вы должны «поймать» это значение в коде. Вы можете использовать другую переменную (г) для этого. Далее, вы можете добавить еще одно значение этой переменной (если вы хотите). И, наконец, отобразить значение с помощью MsgBox.
Результат при нажатии на кнопку управления на листе:
Sub
Если вы хотите Excel VBA, чтобы выполнить некоторые действия, вы можете использовать суб. Поместите сабвуфер в модуль (в редакторе Visual Basic, выберите Вставка, модуль).
Например, к югу с именем зоны.
Sub Area(x As Double, y As Double) MsgBox x * y End Sub
Объяснение: Эта подпрограмма имеет два аргумента (тип Double). Он не имеет типа возвращаемого значения! Вы можете обратиться к этому подпункту (назовет суб) откуда-то еще в вашем коде, просто используя имя подразделов и дает значение для каждого аргумента.
Поместите ссылка: VBA Create-A-макро-# командной кнопки [Кнопка управления] /
на листе и добавьте следующую строку кода:
Area 3, 5
Результат при нажатии на кнопку управления на листе:
Вы можете увидеть разницу между функцией и суб? Функция вернула значение 15. Мы добавили значение 2 к этому результату, и отображается конечный результат. Когда мы назвали подлодку у нас не было больше контроля над результатом (15), так как к югу не может возвращать значение!