使用求解器来最小化vba函数(而不是其他excel单元格中的excel单元格)

时间:2014-11-13 11:07:36

标签: excel vba solver minimization

我想通过更改alpha的值来最小化myFunction函数。在这个虚拟示例中,我期望alpha = X(= 3)。

为此,我想使用Excel解算器,并避免复制工作表中的部分代码。此代码是Least Sqare Interpolator的一部分。

因此我想知道如何正确编写Minimizer函数 - 求解器部分。 (其余的都是正确的)。

Option Explicit

Private alpha As Double

Function myFunction(X)

    'myFunction , the variable is alpha
    myFunction = ( alpha - X ) ^2

End Function


Public Sub Minimizer()

    Dim X As Double
    X = 3
    Solver (change alpha with the value that minimize myFunction(X))

End Sub

1 个答案:

答案 0 :(得分:0)

不幸的是,你想做的事情是不可能的。解算器设计用于工作表。

如果您决定愿意在工作表上放置数据,则可以使用SolverOptions设置求解器选项,将目标单元格和单元格设置为SolverOk更改,使用{添加约束{1}},并使用SolverAdd解决。更多详情请见Microsoft's Website