求解器 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 右侧一列的单元格的值为零。
我正在尝试使用宏来调用规划求解。目标是 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 右侧一列的单元格的值为零。