excel - Excel VBA Solver - 为什么我没有得到有效的解决方案?
问题描述
我正在尝试使用 Excel Solver 解决优化问题。当我手动执行时,它工作正常。但是当我在 VBA 中尝试它时,我收到以下错误消息:modell 中的错误。请验证所有单元格和约束是否有效。
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
推荐阅读
- php - PHP Date - 奇怪的日期计算
- python - 使用 python-docx 从 docx 文件中读取图像
- javascript - 反应初始化:错误:sha1-psC74fOPOqC5Ijjstv9Cw0TUE10=使用sha1时完整性校验和失败:
- javascript - 尝试链接过滤器选项选择
- java - 处理告警通知
- python - 让游戏中的蛇一点一点移动而不是整体移动
- cuda - PyCUDA mem_get_ipc_handle 给出 LogicError: cuIpcGetMemHandle failed: operation not supported
- python - 可能溢出?
- javascript - React js - componentDidMount() 代码是否作为 JavaScript 发送到客户端浏览器?
- angular - 以角度将小更改上传到生产服务器