我正在尝试在多个列上使用解算器(用户定义的确切列数)。在查看了这里的问题后,我仍然无法找到我的代码有什么问题(我对VBA很新)。当我运行它时,第一年它可以正常工作,但不适用于接下来的几年。
Dim wsFM_B3 As Worksheet
Set wsFM_B3 = ThisWorkbook.Worksheets("xxxx_B3")
Dim wsCharts As Worksheet
Set wsCharts = ThisWorkbook.Worksheets("Charts")
Dim j As Integer
For j = 0 To Range("CC_Reduction_Years").Value
SolverReset
SolverAdd CellRef:=wsFM_B3.Range("E_Start").Offset(0, j), Relation:=3, FormulaText:=wsCharts.Range("Min_E")
SolverAdd CellRef:=wsFM_B3.Range("Bank_Start").Offset(0, j), Relation:=3, FormulaText:=wsFM_B3.Range("Cash_B3")
SolverOk SetCell:=wsFM_B3.Range("PoY_Start").Offset(0, j).Address, MaxMinVal:=3, ValueOf:=0, ByChange:=wsCharts.Range("CC_Base_Start").Offset(0, j).Address, Engine _
:=1, EngineDesc:="GRG Nonlinear"
SolverSolve True
Next j
End Sub
以下是我的xxxx_B3
工作表:
在"图表"表格中只有包含第一行,约束和年数的目标值的单元格。