我下面的代码根据相应的单元格值(如果为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)