我如何隐藏Excel的行,如果SUM的内容=零和跳过空白?

我有两个代码,下面是一个隐藏和另一个取消隐藏行的基础上,其中包含的值等于零。 但是,这段代码也隐藏了我不想要的空行,因为它们是段之间的间隔符。 任何build议都将被赞赏,如果有build议来改进现有的代码,我也会很感激。

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 

用这个replace每个方法中的FOR循环….

 myRange = Range(Rng(R, 3), Rng(R, Rng.Columns.Count)) For R = 1 To Rng.Rows.Count If Application.CountBlank(myRange) <> myRange.Cells.Count Then If Application.Sum(myRange) = 0# Then Rng.Rows(R).Hidden = True End If Next R 

它首先检查该行范围内的所有单元格是否都是空白的,如果是,则实际上会跳过进一步的处理。