隐藏excel中的行组

时间:2013-09-27 05:39:10

标签: excel vba excel-vba

我想隐藏空白行后第一行为“xyz”的某些行,直到出现下一个空白行。例如

**heloo**
a
b

**xyz**
as
df

**hello**
g
j

**xyz**
ghj
gh
jk
jk

我希望输出为

**heloo**
a
b

**hello**
g

1 个答案:

答案 0 :(得分:0)

看起来您已经编辑了一些问题,因此输入略有不同。但是,这就是您需要的想法。基本上,定义范围。迭代它直到找到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