Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2011, 23:01   #1
mexanik996
Новичок
Джуниор
 
Регистрация: 15.03.2011
Сообщений: 2
По умолчанию Проблема с кодом Solver, знающие люди, отзовитесь

Всем привет. Знающие люди, помогите, больше не знаю куда обратиться. В экселе VBA ориентируюсь очень плохо.
Собственно проблема в том, что код не отмечает галочками в "поиск решений", не распознает ни линейную модель(AssumeLinear) ни не отрицательные значения(AssumeNonNeg). Почему не понимаю
НА эти строчки в коде не реагирует вообще никак: AssumeLinear = True,StepThru = False, Scaling = True,AssumeNonNeg = True; хотя если отметить эти пункты в ручную в параметрах "поиск решений" то работает.
Помогите, буду очень благодарен

Sub ZLP()
'
' ZLP Макрос
'
Dim wbSolv As Workbook

'подключаем "Поиск решений"
On Error Resume Next
Set wbSolv = Workbooks("Solver.xla")

On Error GoTo EH
If wbSolv Is Nothing Then
Set wbSolv = Workbooks.Open(ThisWorkbook.Path & "\Solver.xla")
End If

'Инициализируем
Application.Run "Solver.xla!Auto_Open"
Application.Run "Solver.xla!SolverReset"

'Данные для расчета

Application.Run "Solver.xla!SolverOptions", MaxTime = 100, Iterations = 10000, Precision = 0.000001, AssumeLinear = True, StepThru = False, Оценки = 1, Разности = 1, SearchOption = 1, IntTolerance = 5, Scaling = True, Convergence = 0.0001, AssumeNonNeg = True
Application.Run "Solver.xla!SolverOk", "$B$32", 1, 0, "$B$30:$J$30"
Application.Run "Solver.xla!SolverAdd", "$K$24", 1, "$M$24"
Application.Run "Solver.xla!SolverAdd", "$K$25", 3, "$M$25"
Application.Run "Solver.xla!SolverAdd", "$K$26:$K$27", 2, "$M$26:$M$27"
Application.Run "Solver.xla!SolverSolve"

Exit Sub
EH:
MsgBox Err.Source & "~" & Err.Description
End Sub

Последний раз редактировалось mexanik996; 15.03.2011 в 23:05.
mexanik996 вне форума Ответить с цитированием
Старый 15.03.2011, 23:33   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ищите тут (все довольно очевидно):
SolverOptions MaxTime:=100, Iterations:=100, Precision:=0.000001, AssumeLinear:=False, StepThru:=False, Оценки:=2, Разности:=1, SearchOption:=1, IntTolerance:=5, Scaling:=False, Convergence:=0.0001, AssumeNonNeg:=False
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 15.03.2011 в 23:35.
IgorGO вне форума Ответить с цитированием
Старый 16.03.2011, 09:58   #3
mexanik996
Новичок
Джуниор
 
Регистрация: 15.03.2011
Сообщений: 2
По умолчанию

Спаибо, уже нашел

Код не работал по причине того, что метод Run не работает с именованными аргументами. Нужно было

Application.Run "Solver.xla!SolverOptions", 100, 10000, 0.000001 'и т.д.

Аргументы должны находиться на своих позициях.
mexanik996 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть знающие люди??? serg268 C++ Builder 1 05.03.2011 15:03
что такое стек?Отзовитесь,люди Еленка Помощь студентам 5 08.06.2008 13:39
люди уважающие паскаль отзовитесь! Минька Помощь студентам 1 12.12.2006 19:34