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
部分。
我有一个包含多个 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
部分。