小编Eri*_*lui的帖子

更快的VBA隐藏行

我有一个代码,如果该行中的单元格为零(或为空),则检查每一行.如果行适用于该规则,则该行将被隐藏.如果不是它仍然可见.

代码工作得很好,但速度非常慢(每次运行大约需要40秒)...

我想知道是否有人能够看到为什么我的代码很慢(或者有一个我可以使用的替代品,它比我当前的代码更快)..

 Sub hide()
' Macro hides all rows with position "zero" or "blank"

    Dim wb As Workbook
    Dim ws As Worksheet
    Dim c As Range
    Dim targetRange As Range

    Set wb = ThisWorkbook
    Set ws = wb.Sheets("Sheet 1")
    Set targetRange = ws.Range("I10:N800")

    targetRange.EntireRow.Hidden = False

    For Each c In targetRange.Rows
       If (WorksheetFunction.CountIf(c, "<>0") - WorksheetFunction.CountIf(c, "") = 0) And (WorksheetFunction.CountA(c) - WorksheetFunction.Count(c) = 0) Then
       c.EntireRow.Hidden = True
       End If
    Next c


End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

4
推荐指数
1
解决办法
1451
查看次数

标签 统计

excel ×1

excel-vba ×1

vba ×1