我需要对一组特定的数据使用 Solver,尽管我知道如何使用 Solver 对一组数据进行处理,但我需要使用它来处理其他几行数据,然后它就会变得重复,因为 Solver 只使用绝对引用。
有办法吗?我是否可以以某种方式对不同的行应用相同的条件,并让 Solver 重新计算所有这些行的结果?
有人说使用INDIRECT
可能是一种选择,但我没有得到任何关于如何使用的解释。
答案1
首先,我假设您使用的是 VBA。如果不是这样,那么这没什么意义。
我建议回顾一下这个帖子讨论在 VBA 中使用规划求解所面临的挑战。
要使用参考来设置 Solver(例如 SetCell:=),我发现这是可行的,而大多数其他方法则不行。
Set SetRng = Sheets("Sheet2").Range("A1")
SetAddress = Split(SetRng.Address(external:=True), "[")(0) & Split(SetRng.Address(external:=True), "]")(1)
SolverOK SetCell:=SetAddress
其中 SetAddress 被 Dim 为字符串。