小编Alb*_*lby的帖子

VBA EXCEL基于单元格值隐藏行非常慢

我下面的代码根据相应的单元格值(如果为0则隐藏)来隐藏/取消隐藏整个行,并且工作正常。

这是材料清单,并且有一个“完成”按钮。在列表的最后,您按下按钮,任何数量= 0的项目都应隐藏此相关行。

工作正常。但是问题在于它非常慢。正如您所看到的,它是400多个行,而从字面上我可以看到这些行消失了。它每秒处理大约20行,这使得在20秒内完成列表。并且列表每隔几个月就会翻一番。

因此,问题是-是否有其他方法可以立即或至少比当前速度更快地隐藏相关行?

非常感谢!

隐藏:

Public Sub HideRows()
Dim cell As Range
    For Each cell In ActiveSheet.Range("H18:H469")
    cell.EntireRow.Hidden = (cell.Value = 0 And cell.Value <> "")
Next cell
End Sub
Run Code Online (Sandbox Code Playgroud)

取消隐藏:

Public Sub UnhideRows()
Dim cell As Range
    For Each cell In ActiveSheet.Range("H18:H469")
    If (cell.Value = 0 And cell.Value <> "") Then cell.EntireRow.Hidden = False
    Next cell
End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba row hide

3
推荐指数
1
解决办法
307
查看次数

标签 统计

excel ×1

hide ×1

row ×1

vba ×1