我正在尝试使用宏来调用Solver。目标是选择将成为“ByChange:”单元格的Target单元格(ActiveCell)。 SetCell是下一列的单元格,应该= 0。 当我想通过选择下一个要运行宏的单元来更改activecell时,它应该对其进行评估。但是,看起来原始的activecell目标在第一次运行后被保存在内存中。
有没有办法清除activecell的内存,以便新选择的Target单元注册为activecell?
Sub Solver()
Dim Target As Double
Dim zero As Double
Target = ActiveCell.Value
zero = Cells(ActiveCell.Row, ActiveCell.Column + 1).Value
SolverOk SetCell:=zero, MaxMinVal:=3, ValueOf:=0, ByChange:=Target, Engine:=1, EngineDesc:="GRG Nonlinear"
SolverSolve UserFinish:=True
End Sub
答案 0 :(得分:1)
我相信你正在努力
Sub Solver()
SolverOk SetCell:=ActiveCell.Offset(0, 1), _
MaxMinVal:=3, _
ValueOf:=0, _
ByChange:=ActiveCell, _
Engine:=1, _
EngineDesc:="GRG Nonlinear"
SolverSolve UserFinish:=True
End Sub
即。通过更改ActiveCell中的值,将单元格中的一列添加到ActiveCell的右侧,使其值为零。