Скрыть строки на основе значения ячейки на другом листе (включая l oop) - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь скрыть / показать строки на листе «Вывод» в зависимости от значений ячеек на листе «Вход». Само по себе это не самая сложная часть, но у меня проблемы с l oop, поскольку мне нужно скрыть 300 строк на основе значений 300 ячеек индивидуально.

Так, например, я хотел бы чтобы скрыть строку 12 на листе «Вывод», если ячейка B6 на листе «Вход» содержит «Нет». Затем я хотел бы скрыть строку 13 на листе «Вывод», если ячейка B7 на листе «Вход» содержит «Нет» ... вплоть до строки 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


1 Ответ

1 голос
/ 16 июня 2020

Вам необходимо указать столбец, в котором может быть найдено значение «Нет».

Например:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...