首页 > 解决方案 > VBA For-Next 循环在 255 次迭代后变慢

问题描述

我正在尝试从 VBA 调用 excel 的 FORECAST.ETS,并且我有一个 for 循环,它在前 255 次迭代中运行良好,并且从第 256 次迭代开始显着变慢。如果有人可以帮助我,我会很高兴。我也会很高兴有一个更好更快的解决方案。

Public Sub CreateDatabase()
Application.Calculation = XlCalculation.xlCalculationManual
Application.ScreenUpdating = False
Dim i as Long
    For i = 1 To 336
        With Worksheets("Sheet1")
            .Range("AHV" & i + 1 & ":AIS" & i + 1).Formula = "=IFERROR(FORECAST.ETS(Sheet1!AHV$1,Sheet1!$B" & i + 1 & ":$AHU" & i + 1 & ",Sheet1!$B$1:$AHU$1,1),0)"
        End With
        Application.StatusBar = Format(Round(100 * i / 336, 2), "0.00") & "% - " & i * 24 & " of " & 336 * 24 & " items created"
    Next 
Application.StatusBar = False
Application.Calculation = XlCalculation.xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

标签: vba

解决方案


推荐阅读