this questionのアドレスを助けようとする中で、VBAでSolverの非常に奇妙な動作が発生しました。VBAのソルバーを使用すると、計算モードが手動に設定されます
誰がそれを再現できるかどうか、私のシステム(Windowsの10、2016エクセル)、およびに何らかの問題がある場合は、誰もが上で何が起こっているかに私を指すことができる場合、私は疑問に思って。
ブックの設定は非常に簡単です。ここで
私は...私はF8を使用してこのコードをステップ実行して、手動でそれぞれの行が実行された後、オプションで計算モードをチェック
Sub mySolve()
Dim SetRng As Range, ChangeRng As Range
Dim i As Long
For i = 2 To 4
Set SetRng = Sheets("Sheet1").Cells(i, 5)
Set ChangeRng = Sheets("Sheet1").Cells(i, 4)
SolverReset
SolverOk SetCell:=SetRng.Address, MaxMinVal:=3, _
ValueOf:=1, ByChange:=ChangeRng.Address, _
Engine:=1, EngineDesc:="GRG NONLINEAR"
SolverSolve UserFinish:=True
SolverFinish KeepFinal:=1
Next i
End Sub
をテストしていたコードです。
- ソルバーソルブの後、計算モードは手動で行い、私がそれをしなければ元に戻りません。
- SolverResetへの呼び出しを削除した場合、SolverSolveが呼び出された後、計算モードは手動に変更されません。
VBAなしでソルバーを実行するとどうなりますか。計算モードを変更しますか? –
いいえ - すべてがExcelインターフェイスを通じて正常に動作します。 – OldUgly