如果单元格为空,则隐藏下n行VBA

在工作表“场景”中,我试图根据该行的B列中的单元格值是否包含文本“不包含”来隐藏整行的组。 例如,在范围B19:B77,我有5个行中的帐户部分。 每个部分的第一行都有帐户名称或“不包含”。 如果它说“不包括”,我想隐藏该行和后续的4行(例如,行19到23)。 我知道如何根据单元格的值隐藏整行(代码如下),但我想弄清楚如何隐藏额外的行。

Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False For Each xRg In Range("B19:B77") If xRg.Value = "" Then xRg.EntireRow.Hidden = True Else xRg.EntireRow.Hidden = False End If Next xRg Application.ScreenUpdating = True End Sub 

提前谢谢你的帮助!

For循环可能看起来像这样:

 Dim r As Long For r = 19 To 77 Step 5 Rows(r & ":" r + 4).Hidden = Cells(r, "B").Value = "not included" Next 

注意: 77看起来很奇怪。 如果所有内容都是以5行为一组,则最后一个“帐户名称”将在第74行,这意味着最后一组似乎只有4行(74到77)。