2016-08-10 11 views
0

ソルバースクリプトに問題があり、ワークシート間を移動するときに実際に解決できません。ソルバは、1シートにつき10回、カラム内の5つのセルを変更することによって、参照セルを最大1にすることが想定されています。VBAソルバーがリセットされない

wslist = Array("A", "B", "C") 
For j = LBound(wslist) To UBound(wslist) 
Worksheets(wslist(j)).Activate 
For i = 0 To 9 
    SolverReset 
    SolverOptions Precision:=0.1 
    SolverOk SetCell:=Cells(7 + i * 4, 49), MaxMinVal:=1, ValueOf:=0, ByChange:=Range(Cells(6, 18 + i), Cells(10, 18 + i)), _ 
    Engine:=1, EngineDesc:="GRG Nonlinear" 
SolverAdd CellRef:=Cells(7 + i * 4, 49), Relation:=1, FormulaText:="1" 
*Constraints Omitted* 
    Next i 
Next j 
Application.ScreenUpdating = True 
スクリプトは何も変わりませんソルバーシートAに微細な動作しますが、スクリプト「実行」Bシートに移動すると仮定だときには、すなわち、ソルバー私は、BにワークシートAから移動したときに実行していないようです

。私が通過して、手動で正確に同じパラメータをソルバーに入力すると、実行されます。

ご協力いただきありがとうございます。

答えて

0

更新:ワークページを切り替えるときにSolverResetを呼び出す代わりに、Application.Run "SolverReset"を実行します。

関連する問題