Скрыть группу строк в excel

Я хочу скрыть определенную группу строк, где 1-я строка после пустой строки равна "xyz" до следующей пустой строки. например

**heloo**
a
b

**xyz**
as
df

**hello**
g
j

**xyz**
ghj
gh
jk
jk

Я хочу, чтобы результат был таким же

**heloo**
a
b

**hello**
g
1 ответ

Похоже, вы немного изменили свой вопрос, поэтому входы немного отличаются. Однако это идея того, что вам нужно. В принципе, определите диапазон. Пройдите через него, пока не найдете 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

licensed under cc by-sa 3.0 with attribution.