私は Visual Basic for Application の初心者で、次の問題が発生しました。
Excel ソルバーを使用して、1 つの行の 2 つの変数セルを変更し、同じ行の別のセルをゼロにする必要があります。セルは、Excel 自体の簡単な計算によって接続されます。また、いくつかの制約を定義する必要があります。
以下のコードを使用すると、最後に定義された行のみが Excel のセルに書き換えられます。前の行は計算されましたが、書き換えられませんでした。
Sub solverloop()
Dim i As Long
For i = 96 To 154
SolverReset
SolverOk SetCell:="$AE$" & i, MaxMinVal:=3, ValueOf:=0, ByChange:=Range(Cells(i, "V"), Cells(i, "W")), Engine:=1, EngineDesc:="GRG-Nichtlinear"
SolverAdd CellRef:=Range(Cells(i, "V"), Cells(i, "W")), Relation:=3, FormulaText:="0"
'Solving the Modell, but message box which must be confirmed by the user will not be displayed
SolverSolve UserFinish:=True
'Finishing the model and keep the last result
SolverFinish KeepFinal:=1
Next i
End Sub