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

If a cell is blank, hide next n rows, VBA

在工作表中,"Scenarios," 我试图根据该组行的 B 列中的单元格值是否包含文本 "not included" 来隐藏整行组。例如,在 B19:B77 范围内,我每 5 行都有一个帐户部分。每个部分的第一行有帐户名称或 "not included." 如果它显示 "not included," 我想隐藏该行和随后的 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 行为一组,您的最后一个 "account name" 将在第 74 行,这意味着最后一组似乎只有 4 行(74 到 77)。