Excel VBA Solver - 为什么我得不到有效的解决方案?
Excel VBA Solver - Why do I not get a valid solution?
我正在尝试使用 Excel 求解器求解优化。当我手动执行时它工作正常。但是当我在 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 的各种不同更改,但没有任何效果。谁能帮我解决这个问题?
如果我没理解错的话,这似乎行得通。宏记录器在这里真的很有用:
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 求解器求解优化。当我手动执行时它工作正常。但是当我在 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 的各种不同更改,但没有任何效果。谁能帮我解决这个问题?
如果我没理解错的话,这似乎行得通。宏记录器在这里真的很有用:
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