Вот я, мы, ваши знакомые и коллеги говорят: воспользуйся макросом, включи макрос и т.д. А что там под капотом?
Под макросом мы подразумеваем какую-то процедуру. Вот запомните это слово. Процедуры бывают разные, например Sub или Function.
В прошлом посте мы с вами использовали Sub, чтобы изменять значение одной ячейки.
✊🏻 БАЗА
📌 Sub – дословно переводится как «подпрограмма». Используя Sub, вы можете записать какое-то действие с ячейкой, листом, книгой. Создать 20 листов, поменять цвет ячеек, задать ячейке значение «единорог».
Итогом Sub будет какое-то действие, но самое главное – Sub не вернет вам значение.
📌 Function – «функция», процедура используется для выполнение набора команд с данными и обязательно возвращает какой-то результат.
Sub похож на условное форматирование ячеек, а Function на функцию ЕСЛИ, которая вернет результат.
Еще одно отличие Function в том, дорогие друзья, что ее можно вызвать как обычную функцию. Как например СУММ, МАКС или ЕСЛИ.
Сделали
Function Calculator? Ну и вызывайте ее можно через команду = Calculator(…).Вводится процедура Function также как и Sub. Смотрите в прошлом посте.
Заканчивается также выражением End Function.
🔮 Магия аргументов
Как в Sub, так и в Function после объявления процедуры, можно указывать аргументы.
На пальцах: для функции СУММ аргументами являются ячейки, которые нужно просуммировать. Для функции СЦЕПИТЬ аргументами будут ячейки, значения которых нужно склеить. Аргументы – входные данные.
Также и здесь. Мы хотим придумать новую функцию в Excel. В нее что-то нужно подать на входе (значения в ячейках), чтобы потом случилась магия и на выходе мы получили преобразованное значение .
Аргументы пишутся в скобках после объявления имени функции. Например:
Function Calculator (x As Double) As Double— Функцию назвали Calculator
— x – аргумент
— x As Double – мы сообщаем системе, что аргумент может быть нецелым числом (с плавающей запятой)
— As Double (в конце) – мы сообщаем, что результат функции тоже может быть в конце концов числом с плавающей запятой.
Double – тип данных. Для них я сделаю отдельный пост. Сейчас нам важно сделать первую функцию и научиться ее использовать в деле.
⚒️ Делаем первую функцию
Сделаем простецкую как 3 копейки функцию, которая изменит введенный в нее аргумент: умножит на 4, а затем поделит на 3.
Запишите в Module:
Function Calculator (x As Double) As Double
Calculator = x * 4 / 3
End FunctionСохраняйте и возвращайтесь в Excel. Пробуйте вызвать эту функцию через запись
= Calculator(.В качестве аргумента укажите число или ссылку на число.
Видео ниже. До новых встреч!
Подписывайтесь на Hello Excel