Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带解算器的循环的VBA结果记录_Vba_Loops_Excel_Solver - Fatal编程技术网

带解算器的循环的VBA结果记录

带解算器的循环的VBA结果记录,vba,loops,excel,solver,Vba,Loops,Excel,Solver,我想用解算器来优化一个非线性问题的系统。对于每个循环,我想记录变化的单元格结果,即单元格5,4、单元格5,5、单元格5,6、单元格5,7。但我的代码似乎只记录了第一个循环的结果 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

我想用解算器来优化一个非线性问题的系统。对于每个循环,我想记录变化的单元格结果,即单元格5,4、单元格5,5、单元格5,6、单元格5,7。但我的代码似乎只记录了第一个循环的结果

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
BirdView:在行SolverFinish KeepFinal:=1之后添加此行DoEvents