2012-11-12 33 views
1

我試圖設置一個宏,它可以給出給定2個輸入的方程的參數。我找不到一種方法讓Solver使用單元格的值作爲「Value Of」。我在那一刻得到了宏如下:Excel求解器 - 使用更改「ValueOf」輸入進行優化

Sub Macro2() 

    SolverReset 
    SolverAdd CellRef:="$G$2", Relation:=1, FormulaText:="100" 
    SolverAdd CellRef:="$G$2", Relation:=3, FormulaText:="0" 
    SolverOk SetCell:="$M$6", MaxMinVal:=3, ValueOf:="$B$2", ByChange:="$G$2", Engine:= _ 
     3, EngineDesc:="Evolutionary" 
    SolverSolve 

End Sub 

當執行宏,求解結果對話框彈出說Error in model. Please verify that all cells and Constraints are valid.

有沒有辦法做到想什麼,我要?

回答

1

Nat。

不是直接引用「ValueOf」參數的單元格,而是使用引用單元格的變量。例如:

Sub Macro2() 

    Dim target As Double 
    target = Range("B2") 

    SolverReset 
    SolverAdd CellRef:="$G$2", Relation:=1, FormulaText:="100" 
    SolverAdd CellRef:="$G$2", Relation:=3, FormulaText:="0" 
    SolverOk SetCell:="$M$6", MaxMinVal:=3, ValueOf:=target, ByChange:="$G$2", _ 
     Engine:= 3, EngineDesc:="Evolutionary" 
    SolverSolve 

End Sub 

希望能夠解決您的問題。

Regards, Sal