我有这个公式是单元格C1 = 3 * A1 ^ 2-2 * A1 ^ 3并且在B1中有一个设定的数字,假设为0.5。
我想使用Solver来更改当前设置为0的单元格A1,直到C1 = B1
我尝试使用示例代码,但没有快乐,我目前支持下面的代码,但它没有做任何事情
Sub solveTest()
Worksheets("Sheet3").Activate
SolverReset
SolverOptions precision:=0.001
SolverOK setCell:=Range("C1"), maxMinVal:=3, byChange:=Range("A1")
SolverAdd cellRef:=Range("B1"), relation:=2, formulaText:=Range("C1")
SolverSolve userFinish:=True
End Sub
答案 0 :(得分:0)
如果将maxMinVal设置为3,则表示您希望它收敛到特定值。但是在你的代码中你没有说出那个价值是什么。我看到你用你所添加的约束暗示它,但我怀疑它是从那个猜测它。我建议删除约束并修改SolverOk行,如下所示:
Sub solveTest2()
Worksheets("Sheet1").Activate
SolverReset
SolverOptions precision:=0.001
SolverOK setCell:=Range("C1"), maxMinVal:=3, valueof:=Range("B1").Value, byChange:=Range("A1")
SolverSolve userFinish:=True
End Sub