Solver 无法循环使用链接公式的行?

Solver cannot loop over rows with linked formulas?

我有一个包含多个 columns/rows 的电子表格。我正在尝试对列中的某些行应用规划求解。

我在第 22 列中设置了我的公式,我在第 24 列中定义了求解器需要求解的初始值,并且我想为每一行匹配第 10 列中的值。

到目前为止,我已经开发了这段代码:

Sub SolverLoop()
Dim i As Long

For i = 4 To 10

    SolverReset
    SolverOk SetCell:=Cells(i, 22).Address, MaxMinVal:=3, ValueOf:=Cells(i, 10).Address, ByChange:=Cells(i, 24).Address, Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve Userfinish:=True

Next

End Sub

但是这对第 24 列没有任何作用,我希望它能改变。我错过了什么?

第 22 列中的公式为 =R123C12*NORMSDIST(RC[-2])-RC[-10]*EXP(-R16C2)*NORMSDIST(RC[-1])。随后,在20和21分别是=(LN(R123C12/RC[-8])+(R15C2+RC[4]^2/2)*R14C2)/(RC[4]*SQRT(R14C2))=RC[-1]-RC[3]*SQRT(R14C2)

Sub SolverLoop()
Dim i As Long

For i = 4 To 10

    SolverReset
    SolverOk SetCell:=Cells(i, 22), MaxMinVal:=3, ValueOf:=Cells(i, 10).Value, ByChange:=Cells(i, 25), Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve Userfinish:=True

Next

End Sub

看来我只是缺少 ValueOf:=Cells(i, 10).Value.Value 部分。