Я пытаюсь решить проблему оптимизации с помощью Excel Solver. Он отлично работает, когда я делаю это вручную. Но когда я пробую это в VBA, я получаю следующее сообщение об ошибке: Ошибка в модели. Убедитесь, что все ячейки и ограничения действительны.
Sub solv()
Dim rng As Range
Set rng = ActiveWorkbook.Worksheets("Sheet1").Range("B1:B3")
SolverReset
SolverOk SetCell:=C5, MaxMinVal:=1, ValueOf:=0, ByChange:=rng, Engine:=2, EngineDesc:="Simplex LP"
SolverAdd CellRef:=rng, Relation:=5, FormulaText:="binary"
SolverSolve
End Sub
При запуске кода вычисления также меняются с автоматического на ручной.
Я пробовал всевозможные изменения в SetCell, ByChange и CellRef, но ничего не работает. Кто-нибудь может помочь медику с этим?
1 ответ
Если я правильно понимаю, похоже, это работает. Регистратор макросов здесь действительно пригодился:
Sub solv()
Dim rng As Range
Set rng = ActiveWorkbook.Worksheets("Sheet1").Range("B1:B3")
SolverReset
SolverOk SetCell:="C5", MaxMinVal:=1, ByChange:=rng.Address, Engine:=2
SolverAdd CellRef:=rng.Address, Relation:=5, FormulaText:="binary"
SolverSolve
End Sub
Похожие вопросы
Новые вопросы
excel
Только для вопросов по программированию объектов или файлов Excel или по разработке формул. Вы можете комбинировать тег Excel с тегами и вопросами VBA, VSTO, C#, VB.NET, PowerShell, OLE и другими тегами и вопросами, связанными с программированием, если это применимо. НЕ используйте с другим программным обеспечением для работы с электронными таблицами, например [google-sheets].