質問: 0 then solverfinish keepfinal:=1 else solverfinish keepfinal:=0 end if ソルバーを起動させ、"b10"が0になるように計算させ、 ソルバーの返り値をaに入れます。このとき、a=0の場合は、つまり最適値を得た場合のみ, 解を保存したく、a=0の場合、solverfinish keepfinal:=1で、保存するようにしています。 しかし、実際は、a=0の場合でも解を保存してしまい、元の値に戻せていません。 最適値を得られなかった場合に、元の値に戻したい場合は、どのように記載すれば良いでしょうか? よろしくお願いします。
回答: エクセルのヘルプより keepfinal 省略可能です。バリアント型 (variant) の値を使用します。指定できる値は 1 または 2 です。1 を指定するか省略すると、解が変化させるセルに書き込まれ、元の値を置き換えます。2 を指定すると、解を破棄し、変化させるセルの値は元の値に戻ります。 ですのでkeepfinal:=0じゃなくてkeepfinal:=2じゃないですか