我试图将一个求解器命令循环到一个特定的目标单元格行,其中ByChange范围和ValueOf范围也会随着每个循环而变化。
基本上这样我就不必在桌子上手动执行此操作。
到目前为止,我有:
Sub loop_solver()
Dim i As Long
For i = 1 To 10
SolverReset
SolverOptions precision:=0.001
SolverOk SetCell:=Range("S & i"), ByChange:=Range("O & i:Q & i"), _
MaxMinVal:=3, ValueOf:=Range("T & i")
SolverSolve UserFinish:=True
SolverFinish KeepFinal:=1
Next
End Sub
我还需要处理一个约束,该约束也会在每个循环中更改单元格。
答案 0 :(得分:0)
对任何有兴趣的人都这样。我通过添加.offset让我的代码工作,因为我意识到你无法计算范围内的循环。
Sub loop_solver()
Dim i As Long
For i = 0 To 10
SolverReset
SolverOptions precision:=0.001
SolverOk SetCell:=Range($S$3).Offset(i,0), ByChange:=Range("$O$3:$Q$3").Offset(i,0), _
MaxMinVal:=3, ValueOf:=Range("$T$3").Offset(i,0)
SolverSolve UserFinish:=True
SolverFinish KeepFinal:=1
Next
End Sub