У меня есть электронная таблица, которая содержит несколько столбцов / строк. Я пытаюсь применить Солвер для определенных строк в столбце.
У меня установлены формулы в столбце 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)
, соответственно.