Показать / Скрыть строки в Excel с помощью флажка формы - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть форма, созданная в Excel, в которой скрыты строки [10:48], и я хочу сделать так, чтобы при установке флажка строки [10:48] не были скрыты. Я назначил макрос для флажка и с помощью этой формулы:

Private Sub CheckBox45_Click()

  If CheckBox45 = True Then

  [10:48].EntireRow.Hidden = False

  Else: [10:48].EntireRow.Hidden = True

End If

End Sub

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

Заранее спасибо за помощь.

Не знаю, имеет ли это значение, но флажок формы находится в столбце D, строка 6

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Вот другой подход.

Оператор ws.CheckBoxes("Check Box 30") = 1 вернет либо TRUE, либо FALSE, что будет либо скрывать, либо отображать целевые строки.

Private Sub CheckBox30_Click()

    Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
    ws.Range("A10:A48").EntireRow.Hidden = ws.CheckBoxes("Check Box 30") = 1

End Sub
0 голосов
/ 01 ноября 2018

Предполагается, что вы прячете / скрываете строки на листе 1, и флажок относится к листу 1 рабочей книги, затем:

Private Sub CheckBox30_Click()  
    If ThisWorkbook.Sheets(1).CheckBoxes("Check Box 30").Value = 1 Then
        ThisWorkbook.Sheets(1).Rows("10:48").Hidden = true 
    Else
        ThisWorkbook.Sheets(1).Rows("10:48").Hidden = false
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...