Оглавление
Есть много общего между пользовательская функция/функция, определяемая пользователем процедура и Подпроцедура/подпрограмма в Excel . Однако, Функция Процедуры имеют некоторые важные отличия от Подпрограмма В этой статье мы рассмотрим разницу между подпрограммой и функцией в Excel VBA .
Скачать Практическое пособие
Рабочую тетрадь для практических занятий можно скачать отсюда.
Подпрограмма и функция.xlsmВведение в подпрограмму & функцию в Excel VBA
Самое главное отличие заключается в том, что функция возвращает значение (число или текстовую строку). Значение процедуры функции хранится в переменной; переменной, имя которой совпадает с именем функции. Подпрограмма выполняет некоторый набор задач и не возвращает значение, как функции.
1. Пользовательская функция Excel VBA
См. следующий пример. AddTwoNumber это имя функции. Эта функция вернет сумму двух чисел, переданных как аргументы ( arg1 и arg2 ). Сумма хранится в переменной с именем AddTwoNumber совпадает с именем функции.
Функция VBA AddTwoNumber
Чтобы создать пользовательскую функцию, выполните следующие действия:
- Во-первых, активируйте Редактор VBA нажав Alt+F11 .
- Во-вторых, выберите рабочую книгу в Проект окно.
- В-третьих, выберите Вставка а затем Модуль вставить VBA Вы также можете использовать существующий модуль кода. Модуль кода должен быть стандартным VBA модуль.
- Затем скопируйте и вставьте приведенный ниже код функции. Имя функции должно быть уникальным для данной рабочей книги. Введите список аргументов (если таковые имеются) в круглых скобках. Если функция не использует аргументы, то в качестве аргумента будет использоваться Редактор VBA добавляет набор пустых круглых скобок.
Function AddTwoNumber(arg1, arg2) 'Возвращает сумму двух чисел, указанных в качестве аргументов AddTwoNumber = arg1 + arg2 End Function
- Более того, эта часть очень важна. Вставьте VBA Значение, которое вы хотите вернуть из этой функции, будет храниться в переменной; переменная, имя которой совпадает с именем функции.
- Наконец, завершите функцию символом Конечная функция .
Читать далее: Как использовать пользовательскую функцию VBA (4 подходящих примера)
Похожие чтения
- 22 примера макросов в Excel VBA
- 20 практических советов по кодированию для освоения Excel VBA
- Как написать код VBA в Excel (с помощью простых шагов)
- Типы макросов VBA в Excel (краткое руководство)
2. Подпрограмма Excel VBA
В следующем примере вы увидите, как подпрограмма в Excel VBA работает. Здесь Sub начинает тело подпрограммы. Имя подпрограммы - square_root. В теле подпрограммы мы выполняем задачу в ячейке A2 Задача заключается в выполнении квадратного корня в ячейке A2 Это означает, что если ячейка содержит любое число, то Excel VBA выполнит вычисление квадратного корня из этой ячейки. End Sub завершает тело подпрограммы.
Чтобы создать подпрограмму, выполните следующие действия:
- Во-первых, активируйте Редактор VB (пресса Alt+F11 ).
- Во-вторых, выберите рабочую книгу в Проект окно.
- В-третьих, выберите Вставка а затем Модуль чтобы вставить модуль VBA. Можно также использовать существующий модуль кода. Модуль кода должен быть стандартным модулем VBA.
- Затем введите ключевое слово SUB за которым следует имя подпрограммы.
- Кроме того, вставьте VBA код, который вы хотите выполнить.
Sub square_root() Range("C5").Value = Range("C4").Value ^ (1 / 2) End Sub
- Наконец, подпрограмма с End Sub .
Основные различия между подпрограммой и функцией в Excel VBA
После выполнения подпрограммы и функции по отдельности мы можем сделать вывод о различиях в таблице ниже.
Функции | Подпрограммы |
---|---|
1) Возвращает значение. | 1) Выполняет набор задач, но не возвращает значение. |
2) Функции вызываются с помощью переменной. | 2) Может быть вызван из любого места программы в нескольких типах после объявления. |
3) Могут использоваться в качестве формул в электронных таблицах. | 3) Не могут быть использованы непосредственно в электронных таблицах в качестве формул. |
4) Мы можем использовать функции как формулы в электронных таблицах. Мы можем выполнять их несколько раз после запуска кода. | 4) Чтобы найти результат работы подпрограммы Excel VBA, сначала нужно вставить значение в нужную ячейку. |
5) Синтаксис: Функция Имя_функции() //Набор кодов Конечная функция | 5) Синтаксис: Sub Sub_Name () //Набор кодов End Sub |
О чем следует помнить
- Разработчик вкладка должны быть включены перед использованием этих методов.
- Мы можем найти Подпрограмма в Макросы в Разработчик вкладка, в то время как пользовательские функции в Функция вкладку с помощью пользовательского поиска.
Заключение
Если вы все еще испытываете трудности с какими-либо из этих инструкций или столкнулись с расхождениями, сообщите нам об этом в комментариях. Наша команда готова ответить на все ваши вопросы. Для решения любых проблем, связанных с excel, вы можете посетить наш сайт ExcelWIKI для решений.