vba代码循环解决有select地崩溃excel?

我有一个问题,我希望有人可以帮忙。 我把一些VBA代码放在一起,让Excel的循环解算器(设置为进化的方法)。 代码如下:

Sub Repeat_Solver() Worksheets("DC Ranking by CM (All DC costs)").Activate limit = 148 i = 147 Application.ScreenUpdating = True Do Until i = limit If Range("BV" & i).Value = "Y" Then SolverReset SolverOk SetCell:="$EQ$" & i, MaxMinVal:=1, ValueOf:=0, ByChange:="$CA$" & i, _ Engine:=3, EngineDesc:="Evolutionary" SolverAdd CellRef:="$CG$" & i, Relation:=3, FormulaText:="45" SolverAdd CellRef:="$CH$" & i, Relation:=1, FormulaText:="0.4" SolverAdd CellRef:="$CA$" & i, Relation:=1, FormulaText:="$E$" & i SolverAdd CellRef:="$CA$" & i, Relation:=4, FormulaText:="integer" SolverOptions MaxTime:=60, Iterations:=200, Precision:=0.000001, _ AssumeLinear:=False, StepThru:=False, Estimates:=1, _ Derivatives:=1, SearchOption:=1, IntTolerance:=1, _ Scaling:=False, Convergence:=0.000001, AssumeNonNeg:=True, _ PopulationSize:=100, RandomSeed:=0, MutationRate:=0.075, _ Multistart:=False, RequireBounds:=False, MaxSubproblems:=3, _ MaxIntegerSols:=2, SolveWithout:=False, MaxTimeNoImp:=30 SolverOk SetCell:="$EQ$" & i, MaxMinVal:=1, ValueOf:=0, ByChange:="$CA$" & i, _ Engine:=3, EngineDesc:="Evolutionary" SolverOk SetCell:="$EQ$" & i, MaxMinVal:=1, ValueOf:=0, ByChange:="$CA$" & i, _ Engine:=3, EngineDesc:="Evolutionary" SolverSolve UserFinish:=True SolverFinish KeepFinal:=1 i = i + 1 Else i = i + 1 End If Loop End Sub 

当我设置limit=147i=146 (运行它只是为行146),它的工作原理 – 但由于一些奇怪的原因,当我运行它的limit=148i=147 (如上面的代码) “设置问题… 33%”,然后excel停止响应。

我甚至尝试在第147行手动运行解算器(没有vba代码),但仍然是同样的问题 – Excel崩溃。 (奇怪的是,如果我把求解器设置为GRG Nonlinear,似乎工作起来,而不是进化。)

有谁知道我在做什么错? 在此先感谢您的帮助!