【发布时间】:2013-05-29 21:06:17
【问题描述】:
我正在尝试加快我的 VBA 代码,但不知道该怎么做。到目前为止,最慢的任务是我隐藏空行的循环。 (我有几个垂直对齐的数据透视表,当添加新数据时,我必须留出空间让它们展开。)
Public Sub HideRows(list1 As Range)
Dim cell As Range
For Each cell In list1
cell.EntireRow.Hidden = (cell.Value = "")
Next cell
End Sub
Public Sub UnhideRows(list1 As Range)
Dim cell As Range
For Each cell In list1
If (cell.Value <> "") Then cell.EntireRow.Hidden = False
Next cell
End Sub
【问题讨论】:
-
您如何称呼您的
HideRows和UnhideRows订阅者?你的 list1 范围是多少?举个例子…… -
调用 HideRows(Range("SHORTprcal")),在我重新打开 Application.ScreenUpdating 之前我打了四次电话
-
您的“SHORTprcal”的确切范围地址是多少?