我想向我的Excel VBA求解器解決方案添加一些新的約束條件,並在運行代碼時出現一些奇怪的行爲。我想要做以下的最小化問題時遇到了一些麻煩:將VBA的約束條件添加到求解器工具
兩個槓桿正在調整必須< = 35%,但是當我添加的約束:
SolverAdd CellRef:="$C$39", Relation:=2, FormulaText:=".35"
SolverAdd CellRef:="$C$40", Relation:=2, FormulaText:=".35"
他們自動當他們的想法儘可能低時,將自己定在35%。如果沒有這個限制,單元格會將自己設置爲低於35%,以解決我正在驗證的問題,所以我知道最佳解決方案低於35%。
另外我想知道是否有辦法確保a)單元格以5%的增量進行優化,並且結尾值不包含小數。即10.00%而不是10.23%
對不起,我很感激任何幫助。
下面是完整的代碼:
Private Sub CommandButton2_Click()
Dim i As Integer
i = 2
For i = 2 To 5
Range("$C$14").Value = Application.Workbooks("test_model_2.xls").Worksheets("All Models").Cells(i, 2).Value
SolverReset
SolverAdd CellRef:="$F$70", Relation:=3, FormulaText:="5000"
SolverAdd CellRef:="$C$39", Relation:=2, FormulaText:=".35"
SolverAdd CellRef:="$C$40", Relation:=2, FormulaText:=".35"
SolverOk SetCell:="$F$70", MaxMinVal:=2, ValueOf:="0", ByChange:="$C$39:$C$40"
SolverSolve True
MsgBox "i is:" & i
Next i
End Sub
我也試圖消除 「」 周圍的FormulaText沒有效果。 – Andy