Страницы: 1
RSS
Проблема с кодом 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
 
Я с Solver никогда не работал, но метод Run не работает с именованными аргументами. Попробуйте  
 
Application.Run "Solver.xla!SolverOptions", 100, 10000, 0.000001 'и т.д.  
 
Аргументы должны находиться на своих позициях.  
 
Лучше подключите надстройку Solver (Поиск решения), тогда можно записывать действия с ним макрорекордером.
 
Спасибо огромное) Помогло)
Страницы: 1
Читают тему
Наверх