Попытка сделать флажок скрыть все строки, где ячейка в этой строке читает определенное значение - PullRequest
0 голосов
/ 02 мая 2018

Поэтому я пытаюсь установить флажок, чтобы скрыть все строки, где ячейка в этой строке считывает определенное значение.

Я назначил ему следующий скрипт VBA:

Sub Hide_Rows_Containing_Value()

    If CheckBox1 = True Then

        Dim c As Range

        For Each c In Range("C2:C100").Cells
            If c.Value = "Closed" Then
                c.EntireRow.Hidden = True
            End If
        Next c
    End If
End Sub

И назначенный ему обратный сценарий для отображения этих столбцов, когда флажок снят.

Однако, похоже, это не работает, у кого-нибудь есть идеи, где я ошибся?

1 Ответ

0 голосов
/ 02 мая 2018

Если CheckBox с именем "CheckBox1" установлен на Sheet1, используйте этот код в модуле Sheet1


Option Explicit

Private Sub CheckBox1_Click()
    Dim c As Range

    Application.ScreenUpdating = False
    With Sheet1
        For Each c In .Range("C2:C" & .Cells(.Rows.Count, "C").End(xlUp).Row).Cells
            If IsError(c) Then c.Value2 = "Closed"  'Hides errors as well
            c.EntireRow.Hidden = (c.Value = "Closed" And .CheckBox1.Value)
        Next
    End With
    Application.ScreenUpdating = True
End Sub

Это позволит скрыть или отобразить строки на основе ячеек в столбце C, содержащем слово "Closed" и выбранный флажок или нет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...