1
我制作了一个宏,这也许是我做过的最简单的一个宏,但它需要运行将近5到8分钟。我究竟做错了什么?可以如何缩短运行时间?我不能一次又一次地让它完成。这是代码。当计算包含公式的工作表时,缓慢的宏
Sub AB()
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
For i = 2 To 20
For y = 4 To 50
Sheets("A").Range("b7").Value = Sheets("B").Cells(y, 1).Value
Sheets("A").Range("b8").Value = Sheets("B").Cells(3, i).Value
Sheets("C").Calculate
Sheets("B").Cells(y, i).Value = Sheets("C").Range("b1").Value
Next y
Next i
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
End Sub
我不得不为表C包含“计算”,因为表C包含Excel公式。
有人可以建议一个比这更好的方法吗?
Sheet C是否有很多公式? –
@GowthamShiva是的。它有。我将表B中的值插入到表A中,然后将答案从表C中复制到表B中。对于单个值,它以jiffy完成。但是,当我运行多个值的循环。这需要时间。 – Ahmad
而不是计算整个图表C,只需计算您需要的单元格/范围。可能b B1在单C中 –