Из этого туториала Вы узнаете, как скрывать и отображать рабочие листы с помощью VBA.
Скрыть лист в VBA
Чтобы скрыть лист в VBA, используйте свойство Visible листа.
Либо установите для свойства Visible значение FALSE:
1 | Листы ("Лист1"). Visible = False |
или установите для свойства Visible значение xlSheetHidden:
1 | Листы ("Лист1"). Visible = xlSheetHidden |
Это то же самое, как если бы пользователь щелкнул правой кнопкой мыши вкладку рабочего листа и выбрал «скрыть».
Показать лист
Чтобы отобразить лист в VBA, используйте свойство Visible листа:
1 | Листы ("Лист1"). Visible = True |
или
1 | Листы ("Лист1"). Visible = xlSheetVisible |
Скрытые листы можно увидеть, щелкнув правой кнопкой мыши в области вкладки «Рабочий лист»:
Очень скрытые листы
Свойство Sheet Visible имеет третий параметр: xlSheetVeryHidden:
1 | Листы ("Лист1"). Visible = xlSheetVeryHidden |
Очень скрытые листы скрываются при щелчке правой кнопкой мыши в области вкладки рабочего листа:
Этот код не позволит пользователю электронной таблицы увидеть вкладку «Рабочий лист» в нижней части экрана. Он также скрывает рабочий лист от пользователя, когда он щелкает правой кнопкой мыши вкладки внизу. Единственный способ увидеть, что рабочий лист существует (или показать рабочий лист), - это открыть редактор Visual Basic.
Показать очень скрытые листы
Очень скрытые рабочие листы становятся видимыми так же, как и обычные скрытые рабочие листы:
1 | Рабочие листы ("Лист1"). Visible = True |
или
1 | Листы ("Лист1"). Visible = xlSheetVisible |
Скрыть / показать листы в редакторе VBA
Вы также можете переключить свойство Worksheet Visible в редакторе VBA:
Скрыть все вкладки рабочего листа
Вы также можете полностью скрыть область вкладки рабочего листа, чтобы пользователь не мог переходить к другим рабочим листам. Узнайте больше о скрытии вкладок рабочего листа.
Скрыть / показать листы в защищенной книге
Ваша книга должна быть снята с защиты, прежде чем вы сможете скрывать или отображать рабочие листы. Чтобы снять защиту с структуры книги, используйте следующий код:
1 | ActiveWorkbook.Unprotect |
Если структура вашей книги защищена паролем, вы должны сделать это вместо этого:
1 | ThisWorkbook.Unprotect "пароль" |
Показать все листы
Эта процедура отобразит все рабочие листы в книге с помощью цикла For Each Loop:
12345678 | Sub Unhide_All_Sheets ()Dim ws как рабочий листActiveWorkbook.UnprotectДля каждого ws в листахws.Visible = xlSheetVisibleСледующийКонец подписки |
Обратите внимание, что сначала мы снимаем защиту с книги на случай, если она была защищена паролем.