0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 10
|
|
1 | |
Создание пользовательской функции в Excel, VBA20.04.2011, 13:00. Показов 18615. Ответов 19
Метки нет (Все метки)
Добрый день. Столкнулся с проблемой создания пользовательской функции в MS Excel, используя VBA. Если я правильно понял, это и есть создание макроса. В моем случае рассматривается линейная рента (файл в приложении), функцию для расчета которой необходимо создать.
Надеюсь на вашу помощь, ибо это практическая часть курсовой работы.. Заранее спасибо
0
|
20.04.2011, 13:00 | |
Ответы с готовыми решениями:
19
VBA создание пользовательской функции с необязательными параметрами в excel Создание пользовательской функции в Excel Создание пользовательской функции с необязательными параметрами в excel Можно ли в коде VBA пользовательской функции EXCEL передать аргументы и запустить для промежуточного расчета процедуру? |
Заблокирован
|
|
20.04.2011, 13:05 | 2 |
kotopes_064,
спрашивайте, какие команды VBA нужны и, может быть, вам помогут. Потому что у вас математика чистой воды.
0
|
761 / 268 / 57
Регистрация: 13.12.2009
Сообщений: 1,103
|
|
20.04.2011, 13:10 | 3 |
Да, с помощью макроса можно создать программу которая будет вести расчет, по формуле.
Но она не будет пользовательской функцией VBA. Макрос нужно отнести к процедуре VBA.
0
|
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 10
|
|
20.04.2011, 17:16 [ТС] | 4 |
Может я просто не совсем правильно сформулировал задачу. Создание пользовательской функции - это же подразумевает создание макроса?
0
|
1856 / 1178 / 190
Регистрация: 27.03.2009
Сообщений: 4,564
|
|
20.04.2011, 17:32 | 5 |
типа того. функция-макрос
0
|
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 10
|
|
20.04.2011, 19:11 [ТС] | 6 |
Значит если так, то по той формуле из моего файла ( что в конце указаны красным цветом S(0), S(n) ) можно сделать "фунцию-макрос"?
Добавлено через 1 час 7 минут Все, я понял теперь, необходимо создание своей функции в Екселе через макрос, т.е. открыть модуль, вызвать процедуру, но только вместо SUB выбрать Function (уточнил у рук-ля). Входные данные у меня лежат в приложенном файле (две красные формулы в конце) Буду оч признателен за помощь. В теле функции, когда уже непосредственно пишешь операции с данными, как описывать возведение в степень? напрмиер (a+b)^n-1 так?
0
|
Заблокирован
|
|
20.04.2011, 19:55 | 7 |
kotopes_064,
вот так: (a+b)^(n-1). Иначе сначала будет возведено в степень n, а затем отнимется 1.
0
|
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 10
|
|
20.04.2011, 20:40 [ТС] | 8 |
Начал создавать свою функцию, наверное оч просто получилось, но я сталкиваюсь с такой задачей впервые:
Public Function СоврСтоимЛинРенты(f, r, n, b) СоврСтоимЛинРенты = (f / r) * (((1 + r) ^ n) - 1) / ((1 + r) ^ (n - 1)) + (b / (r ^ 2)) * (((1 + r) ^ (n - 1)) - n) / ((1 + r) ^ (n - 1)) + (b / r) * (((1 + r) ^ (n - 1)) - 1) / ((1 + r) ^ (n - 1)) End Function Ошибок никаких не выводит, но когда я включаю эту функцию, Excel мне окно с полями для выбора аргументов не выводит.. как быть?
0
|
Заблокирован
|
|
20.04.2011, 20:44 | 9 |
kotopes_064,
нужно как обычную функцию вставлять. Выбрать нужно: Определённые пользователем. Там и нужно функцию вызывать.
0
|
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 4
|
|
03.03.2013, 22:59 | 10 |
Скажите, а если не отражено в функциях строки определенные пользователем, что делать?
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
03.03.2013, 23:17 | 11 |
To Ольга111. Здравствуйте. А можете конкретизировать вот это:
0
|
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 4
|
|
04.03.2013, 18:43 | 12 |
Да, она не отражается в списке функций. Я так понимаю, что просто не умею их писать( Не могли бы подсказать как вообще в экселе можно реализовать следующую задачу:
Есть срок кредита и есть первоначальный взнос. Для сроков 6-14 месяцев, первоначальный взнос должен быть в границах 10-90%, для сроков 15-18 месяцев, первоначальный взнос от 10 до 50%. Если менеджер вводит другие данные в окно пв, кроме разрешенных на конкретные сроки, ему должно вылетать сообщение некорректный ввод данных. С помощью проверки данных я это сделать не могу. Помогите, пож)
0
|
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,721
|
|
04.03.2013, 18:49 | 13 |
Код UDF должен быть в стандартном модуле (не книги, не листа).
Ну а эту задачу думаю можно сделать проверкой ввода - покажите файл (сделайте небольшой пример). Правда я в формулах пас
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
04.03.2013, 18:56 | 14 |
Не помогу - это к экономистам, я технарь. А функция, если она рабочая (протестированная) и не "Private Function ......()", должна отображаться в категории User Definet Function. Здесь, на форуме, их называют сокращенно UDF.
Кстати, если Вы создали функцию, средствами VBA можно определить категорию, в которой она будет отражаться (мат-е, фин-вые и т.д.) Добавлено через 4 минуты Опередил
0
|
Hugo121
|
04.03.2013, 19:23
#15
|
Не по теме: Добрый вечер! (если Вы в Европе :) )
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
04.03.2013, 19:37 | 16 |
А где ж мне быть? Вот только три дня я какой-то потерянный. В суботу сад образал, так самые толстые ветки (диаметр от 30 см.) упали соседу через забор. Вытянуть самому - сил не хватает. А сосед молчит. И сам не убирает. Может тоже потерянный? А древесина для определенных целей - СУПЕР! Абрикоса, вишня, яблоки.
0
|
6944 / 2849 / 548
Регистрация: 19.10.2012
Сообщений: 8,721
|
|
04.03.2013, 22:11 | 17 |
Тогда точно в Европе. Южной
У нас сегодня до -15-20, а вчера снегу навалило...
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
04.03.2013, 22:59 | 18 |
Hugo, Вы просто забыли! Когда Вы начали помогать с словарями. Помните, "Локальний кошторис". Я, кажется, давал транскрипцию: "Локальный кошторыс" - т.е. "локальная смета". Это запад-запад-юг Украины. А вот сосед меня точно закопает. Боюсь, чтоб не обиделся. А что? Я ему могу еще с другого конца сада подкинуть. Шашлык на таких дровах - чудо!
0
|
Hugo121
|
04.03.2013, 23:19
#19
|
Не по теме: Да, забыл...
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
04.03.2013, 23:26 | 20 |
Умирать - так весело! Вишня не старая, сорт такой - как черешня крупная, но кисловатая. Дерево крупное и быстро разрастается. Было бы Вам близко - пожалуйста. Если чесно - у меня не очень времени есть на шашлыки, поэтому забирайте хоть все.. А попилить - рекомендую цепную электро-пилу Makita. Удобная, надежная, мощная. Я брал в Венгрии, где-то 120 $.
0
|
04.03.2013, 23:26 | |
04.03.2013, 23:26 | |
Помогаю со студенческими работами здесь
20
Создание пользовательской функций, в VBA, которая позволяет вычислить переменную Разработка пользовательской таблицы средствами процессора Excel, создание и выполнение макросов Excel Использование пользовательской функции в фильтре (VBA) Создание пользовательской ф-ии в VBA для первого Заглавного символа выражения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |