次の空白行が発生するまで、空白行の後の最初の行が「xyz」である行の特定のグループを非表示にしたい。例えば
**heloo**
a
b
**xyz**
as
df
**hello**
g
j
**xyz**
ghj
gh
jk
jk
出力を次のようにしたい
**heloo**
a
b
**hello**
g
質問を少し編集したように見えるので、入力が少し異なります。ただし、これは必要なもののアイデアです。基本的に、範囲を定義します。xyz が見つかるまで繰り返します。フラグを設定して、空白行が見つかるまで反復のすべての行を非表示にします。
Sub HideRows()
Set r = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
hiderow = False
For Each c In r.Cells
If Left(c.Value, 3) = "xyz" Then
hiderow = True
ElseIf Len(c.Value) = 0 Then
hiderow = False
End If
If hiderow Then
c.Select
Selection.EntireRow.Hidden = True
End If
Next c
End Sub