Solver VBA ActiveCell“卡住”

我正在尝试使用macros来调用Solver。 目标是select一个目标单元格(ActiveCell),它将是“ByChange:”单元格。 SetCell是下一列的单元格,它应该是0.当我想通过select下一个单元格来运行macros来改变活动单元格时,它应该评估它。 然而,在第一次运行之后,原来的活动单元目标似乎被保存在内存中。

有没有办法清除activecell的内存,以便新select的Target cell注册为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 

我相信你正在努力

 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右侧的单元格的值为零。