vba excel loop_在运行时显示迭代次数(不是进度条)

时间:2014-07-21 17:21:17

标签: vba loops excel-vba progress excel

我有250.000行,我想删除col AR中0的所有行。这需要花费太多时间使用过滤器并仅删除可见单元格,因此我编写了一个代码。问题是我希望看到进度,但不添加表单,只有迭代次数就足够了。

有没有办法在运行循环时显示迭代次数?

我的代码是:

Sub delrow()

Application.Calculation=xlCalculationManual
Application.ScreenUpdating = False

With Sheets("bners")
LR3 = Range("A" & Rows.Count).End(xlUp).Row
For i3 = 3 To LR3
    a = Sheets("bners").Range("AR" & i3).Value
    If a = 0 Then
    Rows(i3).Delete
    Else
    End If
Next i3
End With

Application.calculate
Application.ScreenUpdating = True

End Sub

谢谢!

3 个答案:

答案 0 :(得分:4)

使用StatusBar,它将显示在状态栏(Duh)上:

Application.StatusBar = "Current iteration: " & i3

答案 1 :(得分:1)

我喜欢用

    count = 0
    For....
      'your code
       count = count + 1
       Application.StatusBar = Count
    next

显示在底部状态栏。对我来说简单并不重。

答案 2 :(得分:0)

您可以在循环中添加:

 Range("A1") = i3

这会将左上角的单元格设置为当前迭代的数字,但它不会非常平滑。