1
我有两个代码,下面是一个隐藏和另一个取消隐藏行的基础上其中包含值等于零的总和。但是,这段代码还隐藏了我不想要的空行,因为它们是段之间的间隔符。任何建议都会被赞赏,如果有改进现有代码的建议,我也会很感激。如果SUM内容=零并跳过空白,我该如何隐藏Excel行?
Sub HideRows()
Dim R As Long
Dim Rng As Range
If Selection.Rows.Count > 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange
End If
For R = 1 To Rng.Rows.Count
If Application.Sum(Range(Rng(R, 3), Rng(R, Rng.Columns.Count))) = 0# Then
Rng.Rows(R).Hidden = True
End If
Next R
End Sub
Sub UnHideRows()
Dim R As Long
Dim Rng As Range
If Selection.Rows.Count > 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange
End If
For R = 1 To Rng.Rows.Count
If Application.Sum(Range(Rng(R, 3), Rng(R, Rng.Columns.Count))) = 0# Then
Rng.Rows(R).Hidden = False
End If
Next R
End Sub
如果您的代码速度是一个问题,那么使用返回True或False的“工作列”会比使用自动筛选器(手动或使用VBA)隐藏行更快。 – brettdj 2011-12-23 00:08:51