Скрыть / показать строки на основе другого значения ячейки - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь скрыть / показать ячейки на основе значения ячейки. Когда значение ячейки листа («create») равно «RCDO», оно будет скрывать строки 22:35 и показывать строки 36:49 на листе («Form»), когда значение не равно «RCDO», тогда показывать строки 22:35 и скрыть строки 36:49. Код не работает автоматически, а это значит, что для его запуска нужно будет щелкнуть ячейки строк, а не коды, запущенные, как только я изменю значение ячейки.

    Private Sub HideRow1()

Application.ScreenUpdating = False

If Sheets("Create").Range("C4").Value = "RCDO" Then
        Rows("22:35").EntireRow.Hidden = True
        Rows("36:49").EntireRow.Hidden = False

     ElseIf Sheets("Create").Range("C4").Value <> "RCDO" Then
        Rows("36:49").EntireRow.Hidden = True
        Rows("22:35").EntireRow.Hidden = False

        Application.ScreenUpdating = True
    End If


End Sub

Ответы [ 2 ]

1 голос
/ 14 января 2020

Напишите ниже код в sheet("create")

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = Me.Range("C4").Address Then Call HideRow1
End Sub


Private Sub HideRow1()

    Application.ScreenUpdating = False
    If UCase(Me.Range("C4").Value) = "RCDO" Then
        Me.Rows("22:35").EntireRow.Hidden = True
        Me.Rows("36:49").EntireRow.Hidden = False
    Else
        Me.Rows("36:49").EntireRow.Hidden = True
        Me.Rows("22:35").EntireRow.Hidden = False
    End If
    Application.ScreenUpdating = True

End Sub
0 голосов
/ 14 января 2020

поместите этот код в лист с именем «Создать» (не в модуле), чтобы он работал в зависимости от события, в котором вы изменили значение:

 Option Compare Text
  Private Sub Worksheet_Change(ByVal Target As Range)
    'Check sheet'name and activeCell = C4
    If ActiveSheet.Name <> "Create" Or Target.Address(0, 0) <> "C4" Then Exit Sub
            ToogleHidden ([C4].Value = "RCDO")
    End Sub

    Private Sub ToogleHidden(boo As Boolean)
    Application.ScreenUpdating = False
        Worksheets("Form").Rows("22:35").EntireRow.Hidden = boo
        Worksheets("Form").Rows("36:49").EntireRow.Hidden = Not (boo)
     Application.ScreenUpdating = True
    End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...