建议Solver Loop VBA

时间:2017-09-04 13:08:03

标签: vba solver

我是VBA的新手并且有一个问题。

在Excell中,我通过使用求解器估计了3个值。目标设定为精确值,包括6个简单约束。

enter image description here

现在我想通过逐步增加目标值来重新估计这3个值(因此约束保持不变)。

我在考虑在VBA中使用循环,但我不知道从哪里开始,因为我不是VBA中的Pro。

任何人都可以帮忙吗?

侨!

1 个答案:

答案 0 :(得分:0)

你可以做一个循环来通过vba调整求解器的目标值。在vba编辑器中,您需要添加对求解器的引用(菜单工具 - > references-> check solver)。

在循环中i用于设置目标,一旦找到解决方案,相应的范围B9:D9将从F列复制。

Dim i
For i = 1 To 40
    SolverOk SetCell:="B21", MaxMinVal:=3, ValueOf:=i, ByChange:="B9:D9", Engine:= _
        1, EngineDesc:="GRG Nonlinear"
    SolverSolve True
    Range("B9:D9").Copy Cells(i, "F")
Next i