Скрытие и отображение листов и книг

Скрывать листы можно используя контекстное меню, вызванное правой кнопкой мышки по ярлычку листа. Как было описано в предыдущем уроке. Но листы можно скрывать так, чтобы их не было видно даже в списке скрытых листов. Причем без использования защиты структуры книги. Для реализации данной задачи нужно воспользоваться параметрами, которые доступны в режиме VBA-редактора (Alt+F11).

Как лучше скрыть лист в Excel

Для наглядности разберем пример. Скройте «Лист3» обычным способом (с помощью опции «Скрыть» в контекстном меню).

А «Лист2» скроем параметрами VBA-редактора макросов. Для этого выполним следующие действия:


В списки скрытых листов мы не видим наш «Лист3». Он надежно спрятан. Чтобы снова его увидеть нужно зайти в VBA-редактор и поменять параметры в свойстве «Visible» на «-1-xlSheetVisible».

Примечание. Третий параметр «0-xlSheetHidden» дает тот же результат что и обычное скрытие листа при помощи контекстного меню.

Полезный совет. Визуально можно скрыть ярлыки листов:


Но и в первом и во втором случаи между листами можно переключатся с помощью комбинации горячих клавиш CTRL+PageUp и CTRL+PageDown.



Полезный Лайфхак в Excel

Чтобы запретить вставку новых строк и столбцов в Excel без использования защиты листа нужно сделать так:

Вот и все теперь в лист нельзя вставить строку или столбец. Если нужно запретить вставлять только строки, тогда вводим любое значение в самую последнюю строку (например, A1048576). А если запретить вставлять только столбцы тогда вводим любое значение в последнем столбце (например, XFD1).

Надежное скрытие листов, которых нельзя отобразить стандартными средствами (опцией Показать). Полезные лайфхаки для работы с листами и ячейками.

Иногда возникают ситуации, когда надо скрыть лист со всем его содержимым от посторонних любопытных глаз. Очень часто это делается из контекстного меню листа (для счастливых обладателей 2007 Excel. Подробнее: ) . Но при использовании данного метода необходимо защитить книгу, иначе отобразить скрытые листы сможет каждый (тем же правым щелчком мыши - Отобразить). А что делать, если книгу не надо защищать? Ведь часто необходимо оставить пользователям возможность работы со структурой книги, например, добавлять листы. Как тогда скрыть лист так, чтобы его нельзя было отобразить? Есть достаточно простой способ через редактор VBA, при этом обладать навыком программирования вообще не нужно. Итак, определились какой лист надо скрыть. Далее:

  1. заходим в редактор VBA(Alt +F11 )
  2. жмем сочетание клавиш Ctrl +R или идем в меню View -Project Explorer (чтобы отобразить окно объектов проекта VBA)
  3. жмем F4 или через View -Properties Window (чтобы отобразить окно свойств)
  4. в левой части окна (в Project Explorer) ищем книгу, лист в которой надо скрыть и раскрываем её папку(на скрине это VBA Project (Книга1) )
  5. раскрываем папку Microsoft Excel Objects и выделяем там лист с нужным именем
  6. в Окне свойств (Properties Window ) находим свойство Visible и назначаем ему значение xlSheetVeryHidden

Чтобы затем отобразить этот лист необходимо свойству Visible задать значение - xlSheetVisible . При этом для отображения листа необходимо будет обязательно зайти в редактор VBA - простым методом отобразить не получится. И книгу защищать не надо. Что нам и было необходимо.
Для большей надежности можно защитить проект VBA, чтобы не было возможности отобразить лист из VBA, не указав пароль. На функционал это не повлияет совершенно.
В том же окне VBA(Alt +F11 ):

  1. Tools -VBAProject Properties -вкладка Protection ;
  2. для защиты устанавливается галочка "Lock project for viewing "; для разблокировки - снимается;
  3. вписывается/удаляется сам пароль в полях Password и Confirm password .

Скрыть все листы в книге, кроме листа с именем "Видимый" можно следующим макросом:

Sub Hide_All_Sheets() Dim wsSh As Object For Each wsSh In ActiveWorkbook.Sheets If wsSh.Name <> "Видимый" Then wsSh.Visible = xlSheetVeryHidden "отобразить – xlSheetVisible; сделать лист просто скрытым - xlSheetHidden Next wsSh End Sub

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

Простейший способ скрыть такой лист – кликнуть на ярлычке листа правой кнопкой мыши, и выбрать опцию Скрыть (рис. 1). Однако, чуть более опытные пользователи смогут отобразить лист, скрытый таким образом, кликнув на ярлычке любого видимого листа, и выбрав опцию Показать . Можно просто защитить лист, пройдя по меню Рецензирование –> Защитить лист . Однако он все так же будет полностью виден - данные, формулы и все остальное.

Рис. 1. Команда Скрыть лист

Скачать заметку в формате или

В настоящей заметке предлагается еще более радикальное средство для сокрытия данных – изменение свойства рабочего листа Visible , путем присвоения ему значение xlVeryHidden в редакторе VBA, но без написания кода VBA.

Пройдите по меню Разработчик –> Visual Basic или нажмите Alt+F11, чтобы открыть окно Редактора VBA (рис. 2).

В окне Project – VBAProject найдите имя своей книги (в нашем примере — Книга1) и раскройте ее иерархию, щелкнув знак «плюс» слева от имени книги. Раскройте папку Microsoft Excel Objects, чтобы увидеть все листы книги (на рис. 2 эти манипуляции уже выполнены).

Выберите лист, который хотите скрыть (в нашем примере – Лист1), и откройте его свойства, выбрав команду меню в верхней части окна Редактора View –> Properties Window (или нажав F4). Удостоверьтесь, что выбрана вкладка Alphabetic и найдите свойство Visible в самом низу в колонке (Name). Щелкните справа поле со значением свойства Visible и выберите последнее значение, 2 – xlSheetVeryHidden (рис. 3).

Рис. 3. Изменение свойства Visible для листа Лист1

После того как вы выбрали параметр 2 – xlSheetVeryHidden – в окне свойств Properties , Лист1 пропадает из перечня листов книги (рис. 4). Чтобы вывести это окно можно, например, кликнуть правой кнопкой мыши на левой или правой стрелке в левом нижнем углу окна Excel рядом с ярлычками листов.

Рис. 4. Лист, скрытый с помощью свойства Properties , отсутствует в перечне листов книги

Этот метод скрытия листа не является абсолютно надежным, так как продвинутый пользователь может проделать обратную операцию – перейти в редактор VBA и вернуть свойство -1 xlSheetVisible.

По материалам книги Д.Холи, Р.Холи. Excel 2007. Трюки, стр. 36–37

Файл программы Microsoft Excel называется КНИГА. А книга, как водится, состоит из листов. Их количество по умолчанию – 3, но создавать можно столько, сколько нужно. Ярлычки листов можно легко переключать одним кликом: они показываются в левом нижнем углу книги и называются стандартно: ЛИСТ1, ЛИСТ2 и т.п. Можно переключать комбинацией горячих клавиш CTRL+ PageUp (PageDown). Но это не всегда удобно. Да и почему их не видно ярлыков? Разберемся с настройками.

Как вернуть ярлычки

Посмотрим, как должна выглядеть книга, чтобы в ней можно было легко переходить с одного листа на другой. Вот они. Это левый нижний угол книги Excel по умолчанию.

Но у кого-то в нижнем левом углу может быть совсем другая картина.

Что делать в таком случае, когда при открытии книги в ней не обнаруживается панели с закладками? Нужно настроить Excel. Ели у вас 2007-я версия программы, путь к нужным настройкам находится в OFFICE (располагается слева сверху, в самом углу книги) – ПАРАМЕТРЫ EXCEL – ДОПОЛНИТЕЛЬНО – ПОКАЗАТЬ ПАРАМЕТРЫ ДЛЯ СЛЕДУЮЩЕЙ КНИГИ. Здесь находим строчку ПОКАЗЫВАТЬ ЯРЛЫЧКИ и ставим галочку. Нажимаем ОК.


После этого листы появятся в нижнем левом углу книги. Если у вас Excel 2003, то путь таков: СЕРВИС – ПАРАМЕТРЫ – ВИД. Для версий 2010-2013: ФАЙЛ – ПАРАМЕТРЫ – ДОПОЛНИТЕЛЬНО.



Как скрыть и отобразить ярлыки листов

Есть в Excel и другая функция. Можно скрывать и отображать листы на имеющейся панели с закладками. Это может пригодиться при необходимости создания большого количества листов, когда для поиска нужного приходится пользоваться стрелочками.

В этом случае временно ненужные листы можно скрыть, чтобы они не занимали место на панели.

Это делается очень просто. Предположим, что нам надо скрыть 10, 11 и 12 лист. Для этого кликаем сначала по десятому листу правой кнопкой и выбираем СКРЫТЬ.

Аналогично поступаем с одиннадцатым и двенадцатым. Получается следующее.

Листы скрыты, но не удалены. Информация на них также сохранена. И если мы попробуем переименовать ЛИСТ13 в ЛИСТ10, программа не даст этого сделать.

Придется придумывать листу другое имя. Или оставить все как есть.

Возвращаются скрытые листы на места аналогичным образом. Правой кнопкой кликаем на любой видимый лист и выбираем ПОКАЗАТЬ. Программа покажет список скрытых листов и предложит выбрать тот, который нужно отобразить. Задать команду одновременно для всех листов нельзя. Нужно делать это поочередно.

Скрывать, а также удалять абсолютно все листы нельзя. Видимым должен остаться хотя бы один.