Страница 1 из 1
Создать макрос в Excel
Добавлено: 16 авг 2010, 16:44
Vaseninbox
Здравствуйте!
Как можно сделать так,чтобы макрос выполнялся из определённой ячейки на листе, аналогично тому, как обычно вводится и выполняется функция, например,
Re: Создать макрос в Excel
Добавлено: 16 авг 2010, 22:30
EducatedFool
В стандартный модуль VBA помещаете функцию, которая возвращает значение
И пишете формулу с этой функцией.
Пример можно найти здесь:
http://excelvba.ru/code/CurrencyRate
Почитать о UDF можно здесь:
http://www.compute-rs.com/ru/sovet-2591772.htm
http://www.planetaexcel.ru/tip.php?aid=122
Re: Создать макрос в Excel
Добавлено: 26 авг 2010, 16:22
Vaseninbox
Понятно.Спасибо!
А как сделать так, чтобы в эту функцию передавался диапазон ячеек в качестве аргумента?? Например, во встроенную функцию "=СУММ(A1:A1000)" передаётся аргумент, и пользователь выбирает сам нужный ему диапазон ячеек, а функция уже выплняет какие-то действия над этим диапазоном...
Аналогично и здесь: пользователь должен выбрать диапазон, а пользовательская функция проделает над ним некоторые действия...
Re: Создать макрос в Excel
Добавлено: 26 авг 2010, 22:14
AlexZZZ
Вот пример пользовательской функции, эмулирующей (а на самом деле использующей) втроенную функцию "СУММ":
Код: Выделить всё
Function SUMRANG(SumRange As Range) As Single
SUMRANG = Application.WorksheetFunction.Sum(SumRange)
End Function
Аналогично вводите: "=SUMRANG(A1:A1000)" и получаете сумму нужного диапазона.
На этом примере, думаю, разберётесь, как создавать более сложные функции с аргументами пользователя.