【发布时间】:2016-08-16 19:03:15
【问题描述】:
我有以下宏可以针对不同的概率运行各种案例。基本上,它通过增加 3 个不同单元格中的值,然后让求解器计算最佳回报,针对各种案例场景运行 216 个案例(每个案例 4 次)。它适用于 1 次迭代,但有 864 次迭代,这就是问题所在。
每次迭代后,我都会弹出对话框,说求解器找到了最佳匹配,我想做什么。我的问题是是否有任何方法可以禁用弹出窗口?
代码:
Sub Macro9()
'
' Macro9 Macro
'
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
a = 0
b = 0
c = 0
d = 1
While a <= 30
Range("B21") = a
While b <= 30
Range("B22") = b
While c <= 30
Range("B23") = c
SolverOk SetCell:="$I$24", MaxMinVal:=1, ValueOf:=0, ByChange:="$B$14:$B$20", _
Engine:=3, EngineDesc:="Evolutionary"
SolverSolve
SolverOk SetCell:="$I$24", MaxMinVal:=1, ValueOf:=0, ByChange:="$B$14:$B$20", _
Engine:=3, EngineDesc:="Evolutionary"
SolverSolve
SolverOk SetCell:="$I$24", MaxMinVal:=1, ValueOf:=0, ByChange:="$B$14:$B$20", _
Engine:=3, EngineDesc:="Evolutionary"
SolverSolve
SolverOk SetCell:="$I$24", MaxMinVal:=1, ValueOf:=0, ByChange:="$B$14:$B$20", _
Engine:=3, EngineDesc:="Evolutionary"
SolverSolve
Cells(27, d) = d
e = 28
While e <= 37
Cells(e, d) = Cells(e - 14, 2)
e = e + 1
Wend
Cells(38, d) = Range("I24")
c = c + 5
d = d + 1
Wend
b = b + 5
c = 0
Wend
a = a + 5
b = 0
c = 0
Wend
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
系统信息:Excel 2010
【问题讨论】: