根据另一张纸上的单元格值隐藏行(包括循环)

问题描述 投票:0回答:1

我试图根据“输入”表中的单元格值来隐藏/取消隐藏“输出”表中的行。这本身并不是最困难的部分,但是我遇到了循环问题,因为我需要根据300个单元格值分别隐藏300行。

例如,如果“输入”表中的单元格B6包含“否”,我想隐藏“输出”表中的第12行。然后,如果“输入”表中的单元格B7包含“否”,则我想隐藏“输出”表中的第13行...一直到行306和B300。

到目前为止,我已经编写了以下代码,但是似乎没有用。非常感谢您的帮助!

Sub HideRow()

Dim i As Integer, j As Integer

For i = Sheets("Input").Range("B6") To Sheets("Input").Range("B300")
    For j = Sheets("Output").Rows("12") To Sheets("Output").Rows("306")

        If Sheets("Input").Range("i").Value = "No" Then
            Sheets("Output").Rows("j").EntireRow.Hidden = True
        Else
            Sheets("Output").Rows("j").EntireRow.Hidden = False

        Next j

    Next i

End Sub


excel vba excel-vba
1个回答
0
投票

您需要指定一列,可能会在其中找到“否”值。

例如:

Sub HideRows()
    Dim i As Long
    For i = 6 To 300
        Sheets("Output").Rows(i + 6).EntireRow.Hidden = _
               (Sheets("Input").Cells(i, "A").Value = "No") 'for example using ColA
    Next i
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.