Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/95: Рейтинг темы: голосов - 95, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 10
1

Создание пользовательской функции в Excel, VBA

20.04.2011, 13:00. Показов 18629. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Столкнулся с проблемой создания пользовательской функции в MS Excel, используя VBA. Если я правильно понял, это и есть создание макроса. В моем случае рассматривается линейная рента (файл в приложении), функцию для расчета которой необходимо создать.
Надеюсь на вашу помощь, ибо это практическая часть курсовой работы..
Заранее спасибо
Вложения
Тип файла: docx Линейная рента.Help.docx (14.8 Кб, 199 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2011, 13:00
Ответы с готовыми решениями:

VBA создание пользовательской функции с необязательными параметрами в excel
Помогите пожалуйста;В VBA функция возвращает массив значений аргумента-диапазона. Если второй необязательный аргумент равен 1, то все...

Создание пользовательской функции в Excel
Помогите решить данную задачу в Excel используя Visual Basic (ALT+F11) Вот типа того: Function stom(a, b) If a > 10 Then stom =...

Создание пользовательской функции с необязательными параметрами в excel
Написать пользовательскую функцию с необязательными параметрами. Функция подсчитывает количество повторений второго необязательного...

19
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
20.04.2011, 13:05 2
kotopes_064,
спрашивайте, какие команды VBA нужны и, может быть, вам помогут. Потому что у вас математика чистой воды.
0
763 / 270 / 57
Регистрация: 13.12.2009
Сообщений: 1,110
20.04.2011, 13:10 3
Да, с помощью макроса можно создать программу которая будет вести расчет, по формуле.
Но она не будет пользовательской функцией VBA. Макрос нужно отнести к процедуре VBA.
0
0 / 0 / 0
Регистрация: 20.04.2011
Сообщений: 10
20.04.2011, 17:16  [ТС] 4
Может я просто не совсем правильно сформулировал задачу. Создание пользовательской функции - это же подразумевает создание макроса?
0
1859 / 1181 / 190
Регистрация: 27.03.2009
Сообщений: 4,567
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
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
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
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
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
6991 / 2890 / 554
Регистрация: 19.10.2012
Сообщений: 8,794
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 минуты
Опередил
Здесь, на форуме, их называют сокращенно UDF
Здравствуйте!
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
6991 / 2890 / 554
Регистрация: 19.10.2012
Сообщений: 8,794
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.03.2013, 23:26
Помогаю со студенческими работами здесь

Можно ли в коде VBA пользовательской функции EXCEL передать аргументы и запустить для промежуточного расчета процедуру?
Ребята! Подскажите. Можно ли в коде VBA пользовательской функции EXCEL передать аргументы и запустить для промежуточного расчета...

Создание пользовательской функций, в VBA, которая позволяет вычислить переменную
Плез, можете создать пользовательскую функцию которая вычисляет переменную T

Разработка пользовательской таблицы средствами процессора Excel, создание и выполнение макросов Excel
Помогите пож Используется ексель + Microsoft Visual Basic for Applications( alt F11)

Использование пользовательской функции в фильтре (VBA)
Есть форма с таблицей и полем для ввода, по значению которого после клика по кнопочке запускается фильтр этой таблицы. Есть функция в...

Создание пользовательской ф-ии в VBA для первого Заглавного символа выражения
Здравия желаю уважаемые спецы сего форума! Решил создать пользовательскую функцию которая бы обрабатывала бы ячейку и приводила бы первый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Исследование байт-кода Python: подключаем дизассемблер
stackOverflow 19.02.2025
Многие знают, что Python - интерпретируемый язык, но мало кто задумывается о том, что происходит между написанием кода и его выполнением. На самом деле Python использует промежуточное представление. . .
Исследование байт-кода Python: компиляторы против интерпретаторов
stackOverflow 19.02.2025
Понимание байт-кода Python - основополагающий аспект для разработчиков, стремящихся глубже понять внутренние механизмы языка и оптимизировать производительность своих программ. Байт-код представляет. . .
Comprehensions в Python - что это такое?
stackOverflow 19.02.2025
Когда речь заходит о Python, одной из его самых красивых и мощных возможностей являются списковые включения или comprehensions. Это особые синтаксические конструкции, позволяющие создавать новые. . .
Python правда такой медленный? Развенчиваем миф о медлительности
stackOverflow 19.02.2025
Когда речь заходит о выборе языка программирования для нового проекта, вопрос производительности часто становится одним из ключевых факторов. Python, несмотря на свою популярность и простоту. . .
Динамические формы в Flask
stackOverflow 19.02.2025
Работа с веб-формами часто требует гибкости в отношении количества полей, которые пользователь может заполнить. Представьте ситуацию, когда вам нужно создать форму для ввода контактных данных, где у. . .
Обнаружение объектов в реальном времени на Raspberry Pi с OpenCV и Movidius NCS
stackOverflow 19.02.2025
Технология обнаружения объектов в реальном времени становится все более востребованной в различных областях - от систем безопасности до автономных транспортных средств. Особый интерес представляет. . .
где chromium хранит пароли и как их обнулить в пожарном варианте
jigi33 19.02.2025
Where is the chromium browser stores passwords for a sites где chromium-подобный браузер хранит пароли и как их обнулить в пожарном варианте (see screenshot)
howto get access to external internet resources with kinit
jigi33 19.02.2025
Решение проблемы с необходимостью доп. авторизации по Керберос для автоотработки аутентификации на прокси-сервер (see screenshot)
Отслеживание автомобилей и определение скорости с OpenCV и Python на Raspberry Pi
stackOverflow 19.02.2025
В этой статье мы рассмотрим создание системы отслеживания транспортных средств и определения их скорости с использованием компьютерного зрения и библиотеки OpenCV. Наше решение основано на принципе. . .
ENV (environments) valid paths in linux
jigi33 19.02.2025
Environments paths (see screenshot)
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru