大きなマクロで数回繰り返される次のコードがあります。検索方法を指定すると(「Engine:=..」を含めることで)、マクロが自動計算( Formulas>Calculation Optionsにあります) をオフにし、手動に切り替えることがわかりました。以下の最適化は異なる値に最適化するためループ上にありますが、これは本質的に単一のポイントで最適化を修正します。この問題により、相互にリンクされているセルが更新されないため、最適化が役に立たなくなります。
検索方法を指定せずにマクロを実行できますが、理想的には検索方法を選択できるようにしたいと考えています。何か案は?
SolverReset
SolverOK SetCell:="$K$21", MaxMinVal:=1, ValueOf:="0", ByChange:="$D$41:$H$41", Engine:=2
SolverAdd CellRef:="$K$25", Relation:=2, FormulaText:="1"
SolverAdd CellRef:="$D$41:$H$41", Relation:=3, FormulaText:="0"
SolverAdd CellRef:="$D$41:$H$41", Relation:=3, FormulaText:="$D$12:$H$12"
SolverAdd CellRef:="$D$41:$H$41", Relation:=1, FormulaText:="$D$13:$H$13"
SolverSolve UserFinish:=True
SolverFinish KeepFinal:=1
Range("K23").Value = Range("K21").Value