0

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

**heloo**
a
b

**xyz**
as
df

**hello**
g
j

**xyz**
ghj
gh
jk
jk

我希望输出为

**heloo**
a
b

**hello**
g
4

1 回答 1

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
于 2013-09-27T06:06:07.490 回答