Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как "определить" коэффициенты из пользовательской функции? - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как "определить" коэффициенты из пользовательской функции? (Макросы/Sub)
Как "определить" коэффициенты из пользовательской функции?
Юрий_Нд Дата: Воскресенье, 11.06.2017, 22:16 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 169
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Подскажите, как мне "определить" три коэффициента, для расчета из пользовательской функции в ВБА.
"Исходную" таблицу для определения этих трех коэффициентов я хочу оставить на одном из листов книги Экселя.
Эта тема уже обсуждалась в другом разделе.
Также "хотелось бы", чтобы использовалась, если будет в этом необходимость, стандартная функция СУММПРОИЗВ.


Сообщение отредактировал Юрий_Нд - Воскресенье, 11.06.2017, 22:19
 
Ответить
СообщениеПодскажите, как мне "определить" три коэффициента, для расчета из пользовательской функции в ВБА.
"Исходную" таблицу для определения этих трех коэффициентов я хочу оставить на одном из листов книги Экселя.
Эта тема уже обсуждалась в другом разделе.
Также "хотелось бы", чтобы использовалась, если будет в этом необходимость, стандартная функция СУММПРОИЗВ.

Автор - Юрий_Нд
Дата добавления - 11.06.2017 в 22:16
AndreTM Дата: Воскресенье, 11.06.2017, 23:01 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 496 ±
Замечаний: 0% ±

2003 & 2010
Так а что реально хочется получить-то?

Просто "функцию VBA", которая вам будет возвращать значения из "Таблицы" по задаваемым параметрам? Так а где и как эта функция будет применяться в самом коде VBA?

UDF (пользовательскую функцию), которую можно будет использовать как обычную функцию листа, подставляя в ячейки/формулы, по типу =УЗНАТЬ_КОЭФФИЦИЕНТ_ИЗ_ТАБЛИЦЫ1(K20;L20;"p"), и которая будет возвращать нужное значение из таблицы с данными? так для этого совершенно необязательно задействовать VBA, достаточно воспользоваться Именованными Формулами (и где и использовать, возможно, СУММПРОИЗВ()).

Макрос, который при нажатии на "большую зеленую кнопку" возьмет некий набор параметров и посчитает результат всей конечной формулы? Так мы не видим эту формулу (кроме непонятного вставленного рисунка, без комментариев, чему буковки там соответствуют значениям на листе здесь). Да и данных, по которым считать формулу, мы не видим - ведь для "макроса" будет принципиально, откуда он будет брать реальные данные, где они будут расположены у вас реально при использовании.


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Воскресенье, 11.06.2017, 23:04
 
Ответить
СообщениеТак а что реально хочется получить-то?

Просто "функцию VBA", которая вам будет возвращать значения из "Таблицы" по задаваемым параметрам? Так а где и как эта функция будет применяться в самом коде VBA?

UDF (пользовательскую функцию), которую можно будет использовать как обычную функцию листа, подставляя в ячейки/формулы, по типу =УЗНАТЬ_КОЭФФИЦИЕНТ_ИЗ_ТАБЛИЦЫ1(K20;L20;"p"), и которая будет возвращать нужное значение из таблицы с данными? так для этого совершенно необязательно задействовать VBA, достаточно воспользоваться Именованными Формулами (и где и использовать, возможно, СУММПРОИЗВ()).

Макрос, который при нажатии на "большую зеленую кнопку" возьмет некий набор параметров и посчитает результат всей конечной формулы? Так мы не видим эту формулу (кроме непонятного вставленного рисунка, без комментариев, чему буковки там соответствуют значениям на листе здесь). Да и данных, по которым считать формулу, мы не видим - ведь для "макроса" будет принципиально, откуда он будет брать реальные данные, где они будут расположены у вас реально при использовании.

Автор - AndreTM
Дата добавления - 11.06.2017 в 23:01
Юрий_Нд Дата: Понедельник, 12.06.2017, 00:49 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 169
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
AndreTM, Спасибо, что откликнулись.
Конечно же, если бы вся задача состояла в том, чтобы "посчитать формулу" я бы не "заморачивался" бы с макросами.
Но дело в том, что некоторые искомые значения, входят непосредственно в "формулу для расчета". Поэтому, мне необходимо решать инженерную задачу с итерациями, т.е с помощью метода последовательных приближений.
Мне не хотелось бы "садиться Вам на шею и перекладывать мои задачи на Ваши плечи".
Как "писать макросы, я в принципе" знаю.
Можно было бы "просто взять эти коэффициенты в макрос" из строчки Экселя. Но я "боюсь", что в результате расчета эти коэффициенты "могут перекочевать в другой диапазон".
Именно поэтому и обратился за помощью.
А формула следующая...

Вы можете "дополнительные" исходные данные разместить в любой строчке. Но думаю, что с этой частью задачи я справлюсь сам.


Сообщение отредактировал Юрий_Нд - Понедельник, 12.06.2017, 00:53
 
Ответить
СообщениеAndreTM, Спасибо, что откликнулись.
Конечно же, если бы вся задача состояла в том, чтобы "посчитать формулу" я бы не "заморачивался" бы с макросами.
Но дело в том, что некоторые искомые значения, входят непосредственно в "формулу для расчета". Поэтому, мне необходимо решать инженерную задачу с итерациями, т.е с помощью метода последовательных приближений.
Мне не хотелось бы "садиться Вам на шею и перекладывать мои задачи на Ваши плечи".
Как "писать макросы, я в принципе" знаю.
Можно было бы "просто взять эти коэффициенты в макрос" из строчки Экселя. Но я "боюсь", что в результате расчета эти коэффициенты "могут перекочевать в другой диапазон".
Именно поэтому и обратился за помощью.
А формула следующая...

Вы можете "дополнительные" исходные данные разместить в любой строчке. Но думаю, что с этой частью задачи я справлюсь сам.

Автор - Юрий_Нд
Дата добавления - 12.06.2017 в 00:49
AndreTM Дата: Понедельник, 12.06.2017, 01:15 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 496 ±
Замечаний: 0% ±

2003 & 2010
Так я про что?
Что всякие "дельта тэ", "пси" и прочее - нам неизвестны вообще. И если вы всё же задумали рещать "всю задачу" макросами - так и давайте уже переходить к самим макросам, включая то, как они там будут пытаться делать ваш подбор итерациями.

А находить значения нужных коэффициентов по табличке - это будет подзадача уже внутри вашей задачи, и в зависимости от того, как вы станете решать общую задачу - вполне возможно, что "подфункция подбора n, p ,c" будет выглядеть по-разному. Или вызываться по-разному. Возможно, этот "подбор" вообще можно будет целиком перенести в код (если у вас "табличка" так и останется статической, вы её больше менять не будете).

В любом случае, если вы не хотите упереться в производительность (ваша программа начнет считать "всего-то тысячу итераций" часов 10 :) ) - то не надо пытаться решать её "от частного к общему". Потому что ошибки на этапе планирования и использование не тех механизмов (например, подбор значения в функции листа, при этом с неотключенными пересчётами и отображениями, при этом прямо на листе в ячейках) - приведут только к тому, что вы сами же затормозите процесс пересчётов...


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеТак я про что?
Что всякие "дельта тэ", "пси" и прочее - нам неизвестны вообще. И если вы всё же задумали рещать "всю задачу" макросами - так и давайте уже переходить к самим макросам, включая то, как они там будут пытаться делать ваш подбор итерациями.

А находить значения нужных коэффициентов по табличке - это будет подзадача уже внутри вашей задачи, и в зависимости от того, как вы станете решать общую задачу - вполне возможно, что "подфункция подбора n, p ,c" будет выглядеть по-разному. Или вызываться по-разному. Возможно, этот "подбор" вообще можно будет целиком перенести в код (если у вас "табличка" так и останется статической, вы её больше менять не будете).

В любом случае, если вы не хотите упереться в производительность (ваша программа начнет считать "всего-то тысячу итераций" часов 10 :) ) - то не надо пытаться решать её "от частного к общему". Потому что ошибки на этапе планирования и использование не тех механизмов (например, подбор значения в функции листа, при этом с неотключенными пересчётами и отображениями, при этом прямо на листе в ячейках) - приведут только к тому, что вы сами же затормозите процесс пересчётов...

Автор - AndreTM
Дата добавления - 12.06.2017 в 01:15
Юрий_Нд Дата: Понедельник, 12.06.2017, 02:09 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 169
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
"Дельта тэ" принимается приближенно, а потом "уточняется" в результате расчетом по этой формуле.
С другими коэффициентами проще. Они определяются однозначно
давайте уже переходить к самим макросам,.

простите, тут я не понял...
если вы всё же задумали рещать "всю задачу" макросами

Да, я планирую часть большой инженерной задачи сделать макросами, а "классическим" Экселем я хочу "проконтролировать процесс" и решить мою задачу "графически".
... Простите, на сегодня все, плохо соображаю, засыпаю...
Спокойной ночи.
 
Ответить
Сообщение"Дельта тэ" принимается приближенно, а потом "уточняется" в результате расчетом по этой формуле.
С другими коэффициентами проще. Они определяются однозначно
давайте уже переходить к самим макросам,.

простите, тут я не понял...
если вы всё же задумали рещать "всю задачу" макросами

Да, я планирую часть большой инженерной задачи сделать макросами, а "классическим" Экселем я хочу "проконтролировать процесс" и решить мою задачу "графически".
... Простите, на сегодня все, плохо соображаю, засыпаю...
Спокойной ночи.

Автор - Юрий_Нд
Дата добавления - 12.06.2017 в 02:09
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как "определить" коэффициенты из пользовательской функции? (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!