Tag: 范围循环

如何提高Excel VBA For循环中嵌套If循环的性能?

这是我的第一篇文章,所以如果我需要做任何改变,请告诉我。 我发现了一些优化循环的方法,但我似乎无法将其中的任何一个有效地应用于我的代码。 我想要做的是循环通过单个列中的大约170个单元格,并根据单元格值是否为0隐藏或显示整个行。 每次激活某些表单时,我都希望代码能够运行。 现在这段代码需要大约4秒的时间才能运行。 它似乎应该比这更快! 这就是为什么我在这里寻求帮助。 这里是我正在使用的代码(FormatSheet返回一个BOOLEAN,其中True表示可以在此表单上执行此代码,False表示跳过在此表单上执行此代码: Private Sub mobjWb_SheetActivate(ByVal Sh As Object) Dim r As Long Dim z As Long Dim varray As Variant Application.Calculation = xlCalculationManual Application.ScreenUpdating = False Application.DisplayStatusBar = False Application.EnableEvents = False ActiveSheet.DisplayPageBreaks = False If Not FormatSheet(Sh) Then Exit Sub End If Set varray = Range("$F$1", Cells(Rows.count, "F").End(x1up)).Value […]