用求解器的VBA结果logging

我想用求解器来优化一个非线性问题的系统。 对于每个循环,我想logging变化的单元格结果,它们是单元格(5,4),单元格(5,5),单元格(5,6),单元格(5,7)。 但我的代码似乎只logging第一个循环的结果。

Sub Macro1() ' ' Macro1 Macro ' ' Dim lIncrement As Long lIncrement = 10 For Counter1 = 10 To 12 For Counter2 = 10 To 20 Step lIncrement Cells(18, 2) = Counter1 Cells(11, 2) = Counter2 SolverOk SetCell:="$H$16", MaxMinVal:=1, ValueOf:=0, ByChange:="$D$5:$G$5", _ Engine:=3, EngineDesc:="Evolutionary" SolverOk SetCell:="$H$16", MaxMinVal:=1, ValueOf:=0, ByChange:="$D$5:$G$5", _ Engine:=3, EngineDesc:="Evolutionary" SolverSolve userFinish:=True SolverFinish KeepFinal:=1 Cells(21 + Counter1, 1 + Counter2 / lIncrement).Value = Cells(5, 4) & "," & Cells(5, 5) & "," & Cells(5, 6) & "," & Cells(5, 7) Next Counter2 Next Counter1 End Sub