Страницы: 1
RSS
макрос с поиском решения на нескольких листах, как в Excel2010 сделать макрос, запускающий последовательно поиск решения на нескольких листах
 
Здравствуйте,
Без макроса процесс выглядит так:
1 Настраиваю поиск решения (ограничения, изменяемые, целевую) на нескольких листах. На каждом листе настройки разные. Они сохраняются если  вызвать окно поиска решения, выставить все, а потом закрыть не запуская.  
2. Запускаю поиск решения на листе 1, курю 2-3 минуты, запускаю поиск решения на листе 2, курю.... на листе 10
3. Прохожусь по всем листам - сохраняю результаты поиска решения. Прикидываю как изменить настройки и снова п. 1

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

Excel 2010 - принципиально, поскольку в 2003 генетического алгоритма нет
Изменено: hrnv - 24.11.2014 15:36:39
 
Файл покажите?
Согласие есть продукт при полном непротивлении сторон
 
Смотрите объект Solver в VBA, там многое можно автоматизировать
F1 творит чудеса
 
Спасибо за совет - если проще никак, бум штудировать хелп по Solver - у  :)
Изменено: hrnv - 24.11.2014 16:40:23
 
??? наверное, я не совсем правильно сформулировал, но вот
F1 творит чудеса
 
Да, понятно, спасибо еще раз.
Подключил Файл - параметры - надстройки - перейти - пакет анализа VBA
и макрорекордер на поиске решения заработал - правда пока ошибок кажет, но это уже лучше  чем пустой Sub ... End Sub.
Хоть что-то заработало!  :) уже прогресс
 
hrnv, у Вас гласные лимитированы?  :)
Не хотите помочь обращающимся к Вам - изменить ник на удобочитаемый? (см. правила форума)
 
Просто другой логин для входа на форум я забуду - этот у меня на все случаи жизни. А галку "отображать имя" в профиле форума я сейчас поставил. Может заработает.
Вопрос совместными усилиями решен. Для полного удовлетворения необходимо
1. В Excel: Файл - параметры - надстройки - перейти - пакет анализа VBA    ставим галку
2. В ВБА редакторе Tools - References - Solver - ставим галку и поднимаем в приоритете как можно выше
3. код   (True  - подавляет вывод окна с океем по окончании расчета)
Код
Sheets("Лист1").Select 
SolverSolve (True)    
Sheets("Лист2").Select    
SolverSolve (True)
Спасибо,
С уважением, Николай

О, имя уже отобразилось
Изменено: Николай - 24.11.2014 22:09:30
 
видела такой вариант кодирования ПР: (пример)
Код
Set rngChangeCell = Range("Equity").Offset(0, 1)

    If Range("K4").GoalSeek(Goal:=Range("M4"), ChangingCell:=rngChangeCell) <> True Then
   MsgBox "Goal not achieved.", vbExclamation
    Else
   MsgBox "Goal achieved"
    End If
как вариант, может быть, для адаптации
Изменено: JeyCi - 12.12.2014 18:13:14
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
vikttur пишет: гласные лимитированы
ну вот... была уникальная "хреновина".
а стал безликий "Николай"
:(
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Страницы: 1
Наверх