求解器 VBA ActiveCell "stuck"

Solver VBA ActiveCell "stuck"

我正在尝试使用宏来调用规划求解。目标是 select 一个目标单元格 (ActiveCell),它将成为 "ByChange: " 单元格。 SetCell 是下一列的单元格,它应该 = 0。 当我想通过 select 将下一个单元格更改为 运行 宏时,它应该对其进行评估。然而,最初的 activecell 目标似乎在​​第一个 运行.

之后保存在内存中

有没有办法清除 activecell 的内存,以便新 selected 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 右侧一列的单元格的值为零。