Хитрости »
Как сделать лист очень скрытым
1 Май 2011 90231 просмотров
Иногда возникают ситуации, когда надо скрыть лист со всем его содержимым от посторонних любопытных глаз. Очень часто это делается из контекстного меню листа (для счастливых обладателей 2007 Excel. Подробнее: здесь). Но при использовании данного метода необходимо защитить книгу, иначе отобразить скрытые листы сможет каждый (тем же правым щелчком мыши — Отобразить). А что делать, если книгу не надо защищать? Ведь часто необходимо оставить пользователям возможность работы со структурой книги, например, добавлять листы. Как тогда скрыть лист так, чтобы его нельзя было отобразить? Есть достаточно простой способ через редактор VBA, при этом обладать навыком программирования вообще не нужно. Итак, определились какой лист надо скрыть. Далее:
- заходим в редактор VBA(Alt+F11)
- жмем сочетание клавиш Ctrl+R или идем в меню View —Project Explorer (чтобы отобразить окно объектов проекта VBA)
- жмем F4 или через View —Properties Window (чтобы отобразить окно свойств)
- в левой части окна (в Project Explorer) ищем книгу, лист в которой надо скрыть и раскрываем её папку(на скрине это VBA Project (Книга1))
- раскрываем папку Microsoft Excel Objects и выделяем там лист с нужным именем
- в Окне свойств (Properties Window) находим свойство Visible и назначаем ему значение xlSheetVeryHidden
Чтобы затем отобразить этот лист необходимо свойству Visible задать значение — xlSheetVisible. При этом для отображения листа необходимо будет обязательно зайти в редактор VBA — простым методом отобразить не получится. И книгу защищать не надо. Что нам и было необходимо.
Для большей надежности можно защитить проект VBA, чтобы не было возможности отобразить лист из VBA, не указав пароль. На функционал это не повлияет совершенно.
В том же окне VBA(Alt+F11):
- Tools —VBAProject Properties -вкладка Protection
- для защиты устанавливается галочка «Lock project for viewing«; для разблокировки — снимается
- вписывается/удаляется сам пароль в полях Password и Confirm password.
Скрыть только определенные листы активной книги можно следующим кодом:
Sub Hide_Sheets() Dim ws, aSheets aSheets = Array("Лист1", "Списки", "Лист2") 'через запятую перечисляем листы для скрытия(обязательно в кавычках) For Each ws In aSheets ActiveWorkbook.Sheets(ws).Visible = xlSheetVeryHidden 'отобразить – xlSheetVisible; сделать лист просто скрытым - xlSheetHidden Next wsSh End Sub
Как использовать: Для начала надо убедиться, что разрешены макросы и при необходимости включить их: почему не работает макрос. Затем копируем код выше, из Excel переходим в редактор VBA(Alt+F11) —Insert —Module. Вставляем туда скопированный код. Теперь код можно вызывать нажатием клавиш Alt+F8 -выделяем Hide_Sheets —Выполнить(Run).
Скрыть все листы в активной книге, кроме листа с именем «Видимый», можно следующим кодом:
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
Скрыть абсолютно все листы не получится — Excel не позволит это сделать, т.к. в книге должен быть видимым хотя бы один лист.
Также см.:
Как сделать лист скрытым?
Изменить видимость листов
Почему нет листов?
Статья помогла? Сделай твит, поделись ссылкой с друзьями!
Суперскрытый лист
Иногда некоторые листы в книге приходится скрывать от глаз пользователей. Классический способ предполагает скрытие листа через меню Формат — Лист — Скрыть или правой кнопкой по ярлычку листа — Скрыть (Hide):
Проблема в том, что пользователь, зайдя в меню Формат — Лист — Отобразить или щелкнув правой кнопкой мыши по ярлычку любого листа и выбрав Показать (Unhide), будет видеть имена скрытых листов и понимать, что часть информации от него скрыта:
Поэтому лучше сделать так, чтобы пользователь и не догадывался о присутствии в книге каких-то скрытых листов. Для этого открываем редактор Visual Basic:
- в Excel 2003 и старше — выбрав в меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor)
- в Excel 2007 и новее — нажав на кнопку Редактор Visual Basic (Visual Basic Editor) на вкладке Разработчик (Developer) или нажав ALT+F11
Ищем на экране вот такое окно:
Если его не видно, то можно его отобразить через меню View — Project Explorer (верхняя часть) и View — Properties Window (нижняя часть).
В верхней части на «дереве» находим и выделяем наш лист (на картинке — Лист1), а в нижней части находим свойство Visible (в конце списка) и делаем его xlSheetVeryHidden.
Вуаля! Теперь увидеть этот лист и узнать о его существовании можно только в редакторе Visual Basic и ни в каких окнах и менюшках Excel он отображаться не будет. Меньше знаешь — крепче спишь.
Ссылки по теме
- 4 уровня защиты в файлах Excel
- Скрытие листов оптом с помощью надстройки PLEX
Пользователям известно, что в этой программе нет отдельной команды, чтобы в один клик показать все скрытые листы в Excel.
Скрыть сразу несколько листов можно очень быстро:
- Выделить их с зажатой клавишей Ctrl (если листы идут не подряд) или Shift (если скрываемые листы расположены подряд),
- Щелкнуть правой кнопкой мыши на одном из выделенных листов и выбрать команду Скрыть.
Но если вы захотите так же быстро показать скрытые листы в Excel — у вас не получится это сделать стандартным способом.
Отобразить скрытые листы в Excel можно следующим образом: щелкнуть правой кнопкой мыши на ярлычке одного из листов и выбрать команду Показать.
После этого откроется список скрытых листов — но показать скрытые листе таким способом можно только по одному. В этом окне не работают клавиши Ctrl и Shift.
Но что если у вас много скрытых листов? Каждый раз отображать скрытые листы в Excel по одному — муторно. Как обычно, в Excel всегда можно найти обходный путь, а данном случае даже два — с использованием макроса и без использования, для тех, кто макросов боится.
Чтобы показать все скрытые листы в excel с использованием макроса, нужно:
1. Перейти в редактор Visual Basic на вкладке меню Разработчик.
2. Если эта вкладка не видна на ленте, то ее можно отобразить перейдя на вкладку меню Файл — Параметры — Настроить ленту — установить “галку” возле пункта Разработчик.
3. В окне редактора Visual Basic нужно выбрать команду меню Insert — Module
4. В открывшемся окне модуля написать следующий код (можно просто скопировать отсюда).
Sub UnhideAllSheets()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
End Sub
Далее нажать сохранить (дискета) и закрыть редактор Visual Basic.
Теперь этот макрос доступен на вкладке Разработчик — Макросы.
Если нажать на кнопку Выполнить, выделив название макроса, то отобразятся все скрытые листы.
Однако, каждый раз вызывать макрос таким способом не совсем удобно.
Есть крутой лайфхак, как можно добавить этот макрос на панель быстрого доступа. После выполнения всех этапов, описанных в статье по ссылке ниже, данный макрос на панели доступа будет закреплен за определенной кнопкой, нажав на которую, можно отобразить скрытые листы.
Минус этого способа: отображаются сразу все скрытые листы, даже если для работы вам нужны только некоторые.
Плюс этого способа: если в файле добавляются новые скрытые листы, то не нужно делать дополнительных действий, чтобы отобразить скрытые листы — макрос отобразит их все, включая листы, которые были добавлены уже после записи макроса.
Способ 2. Отобразить все скрытые листы — без использования макроса
Есть еще один хитрый способ показать скрытые листы — при помощи представлений.
Инструмент Представления находится на вкладке Вид — блок Режим просмотра книги.
Чтобы добавить представление, которое будет показывать нужные вам скрытые листы в Excel, нужно сначала вручную показать эти листы (сделать не скрытыми).
После того, как вы показали все скрытые листы, в окне представлений нужно нажать кнопку Добавить.
Далее нужно задать представлению любое имя, например “Все листы”.
Теперь скроем листы и попробуем их показать при помощи созданного представления.
Откроем вкладку Вид — Представления — Выберем созданное представление — Применить.
Минус этого способа: если добавить в файл новые скрытые листы — нужно будет перезаписать представление.
Плюс этого способа: можно регулировать, какие именно листы показывать, а какие нет. Возможно создать несколько представлений, чтобы показывать разные наборы скрытых листов в excel.
В этой статье мы узнали, как показать скрытые листы в Excel.
Вам может быть интересно:
Для того чтобы можно было скрыть информацию от посторонних глаз, а может быть и от своих собственных, в Excel 2007 и выше предусмотрена возможность скрывать листы. При этом можно делать листы рабочей книги как скрытыми, так и очень скрытыми, а при необходимости делать их вновь видимыми, то есть отображать (показывать).
Как сделать лист скрытым?
Сделать лист скрытым очень просто, для этого нужно кликнуть правой кнопкой мыши по ярлычку нужного листа и в появившемся контекстном меню выбрать пункт «Скрыть». Для того чтобы скрыть несколько листов, следующих подряд, либо все листы, кроме активного (книга должна содержать не менее одного видимого листа) необходимо кликнуть левой кнопкой мыши по первому нужному листу, затем, удерживая клавишу Shift, кликнуть по последнему, после чего кликнуть правой кнопкой мыши в области выделенных листов и выбрать пункт «Скрыть» из контекстного меню. Все выделенные листы разом становятся скрытыми. Аналогичным образом можно выборочно выделить листы, используя клавишу Ctrl вместо клавиши Shift.
Как сделать лист очень скрытым?
Листы рабочей книги можно сделать очень скрытыми. Такие листы невозможно отобразить стандартными средствами Excel, при вызове контекстного меню пункт «Отобразить…» (в некоторых версиях он называется «Показать…») не активен. Чтобы сделать лист очень скрытым, необходимо перейти в редактор VB (Visual Basic), сделать это можно разными способами, но самый простой — сочетанием клавиш Alt+F11, выбрать в VBA проекте рабочей книги нужный лист, а затем в свойстве «Visible» этого листа выбрать параметр «xlSheetVeryHidden».
Чтобы вернуть листу видимость, необходимо изменить свойство «Visible» обратно на xlSheetVisible.
Как отобразить скрытые листы?
Обратная процедура, когда возникает необходимость скрытые листы отобразить и сделать видимыми, может потребовать большого терпения. Чтобы отобразить скрытые листы нужно кликнуть правой кнопкой мыши в области имен листов и выбрать пункт меню «Отобразить…».
После этого появляется окно со списком скрытых листов и вывод на экран скрытых листов происходит путем выбора одного листа из всего списка. Отобразить их все разом не получится.
Делать листы видимыми придется по одному. Отображение даже десяти скрытых листов будет вполне утомительным занятием, не говоря уже о большем их количестве.
Что делать если скрыть или отобразить лист не получается?
Если установлена защита структуры рабочей книги, то пункты «Скрыть» и «Отобразить» контекстного меню будут неактивными. Для того чтобы производить какие-либо действия с листами, необходимо снять защиту книги.
Отображение всех листов, выборочное отображение и скрытие листов по маске
Представленная ниже надстройка для Excel позволяет облегчить и ускорить некоторые манипуляции, совершаемые с листами рабочих книг. Надстройка позволяет:
1) Делать скрытыми все листы, кроме активного;
2) делать очень скрытыми все листы кроме активного;
3) отображать все скрытые листы разом, не зависимо от того скрытые они или очень скрытые;
4) скрывать и отображать листы по маске, используя специальные символы совпадения для имен листов.
Видео по работе с надстройкой
макрос (надстройка) для быстрого скрытия и отображения листов
Другие материалы по теме:
Огромное преимущество электронных таблиц Excel заключается в том, что пользователю доступна работа как с одним листом, так и с несколькими. Это дает возможность структурировать информацию более гибко. Но иногда это может быть сопряжено с некоторыми проблемами. Ну всякие ситуации бывают, там может содержаться информация о важных финансовых активах или какая-то коммерческая тайна, которую надо было бы скрыть от конкурентов. Это можно сделать даже стандартными средствами Excel. Если же пользователь случайно скрыл лист, то мы разберемся в том, что следует делать, чтобы его показать. Итак, что же нужно сделать, чтобы выполнять и первое, и второе действие?
Содержание
- Как скрыть лист через контекстное меню
- Как скрыть лист в Эксель с использованием инструментов
- Как скрыть сразу несколько листов
- Как показать скрытые листы в Эксель
Как скрыть лист через контекстное меню
Этот метод является наиболее простым в реализации, поскольку состоит из двух действий.
- Сначала нам нужно вызвать контекстное меню. Для этого надо сделать клик правой кнопкой мыши или нажать двумя пальцами на трекпаде, предварительно переведя курсор на то место, которое нужно. Последний вариант вызова контекстного меню поддерживается только современными компьютерами, и не всеми. Тем не менее, большая часть современных операционных систем поддерживает его, поскольку он значительно удобнее, чем простое нажатие на трекпаде специальной кнопки.
- В контекстном меню, которое появилось, ищем кнопку «Скрыть» и нажимаем на нее.
Все, дальше этот лист не будет отображаться.
Как скрыть лист в Эксель с использованием инструментов
Этот метод не пользуется такой популярностью, как предыдущий. Тем не менее, такая возможность есть, поэтому неплохо было бы знать о ней. Тут нужно совершить несколько больше действий:
- Проверить, находитесь на вкладке «Главная» или в иной. Если у пользователя открыта другая вкладка, нужно переместиться на «Главная».
- Там находится пункт «Ячейки». Следует нажать на соответствующую кнопку. Затем всплывут еще три кнопки, из которых нас интересует самая правая (подписанная, как «Формат»).
- После этого появляется еще одно меню, где в середине будет находиться опция «Скрыть или отобразить». Нам надо нажать на «Скрыть лист».
- После выполнения всех этих действий лист будет спрятан от глаз других людей.
Если окно программы дает такую возможность, то кнопка «Формат» будет отображаться непосредственно на ленте. Нажимать на кнопку «Ячейки» перед этим не будет, поскольку теперь это будет блок инструментов.
Еще один инструмент, позволяющий скрыть лист, называется редактором Visual Basic. Для того, чтобы его открыть, нужно нажать комбинацию клавиш Alt + F11. После этого делаем клик по интересующему нас листу и ищем окно свойств. Нас интересует опция Visible.
Есть три варианта настройки показа листа:
- Лист показывается. Обозначается кодом -1 на картинке выше.
- Лист не показывается, но его можно увидеть в перечне спрятанных листов. Обозначается кодом 0 в перечне свойств.
- Лист очень сильно спрятан. Это уникальная функция редактора VBA, позволяющая убрать лист так, что его нельзя будет обнаружить в перечне скрытых листов через кнопку «Показать» в контекстном меню.
Кроме этого, редактор VBA дает возможность автоматизировать процедуру в зависимости от того, какие значения, как вариант, содержатся в ячейках или какие события происходят.
Как скрыть сразу несколько листов
Принципиальной разницы между тем, как скрывать больше, чем один лист подряд или как спрятать один из них нет. Можно просто последовательно их скрыть описанным выше способом. Если же хочется немного сэкономить время, то есть еще один способ. Перед тем, как его реализовывать, необходимо выделить все листы, которые надо скрыть. Выполняйте следующую последовательность действий, чтобы убрать из виду несколько листов одновременно:
- Если они находятся рядом друг с другом, нам нужно использовать кнопку Shift, чтобы выделить их. Для начала делаем клик по первому листу, после чего нажимаем и удерживаем эту кнопку на клавиатуре, после чего делаем клик по последнему листу из тех, которые нам нужно скрыть. После этого можно клавишу отпустить. В целом, разницы нет, в какой очередности нужно выполнять эти действия. Можно начать с последнего, зажать Shift, а потом перейти к первому. Чтобы реализовать этот метод, нужно расположить листы, которые надо спрятать, рядом друг с другом простым перетаскиванием мыши.
- Второй метод необходим, если листы не находятся рядом друг с другом. Он несколько больше времени займет. Чтобы выделить несколько, которые находятся друг от друга на определенном удалении, необходимо нажать по первому листу, а потом последовательно выделять каждый следующий с клавишей Ctrl. Естественно, ее нужно держать зажатой, а по каждому листу делать одинарный клик левой кнопкой мыши.
После того, как мы выполнили эти действия, последующие шаги аналогичные. Можно воспользоваться контекстным меню и спрятать вкладки или найти соответствующую кнопку на панели инструментов.
Как показать скрытые листы в Эксель
Существует несколько способов показать спрятанные листы в Эксель. Наиболее простой из них – воспользоваться тем же контекстным меню, что и для его скрытия. Для этого нужно нажать по любому из оставшихся листов, сделать правый клик мышью (или воспользоваться специальным жестом трекпада, если вы с современного ноутбука) и найти кнопку «Показать» в появившемся перечне. После того, как мы ее нажмем, появится окошко с перечнем скрытых листов. Оно отобразится даже в случае, если лист всего один.
Если скрытие осуществлялось с использованием макроса, то можно показать все листы, которые были спрятаны, с помощью небольшого кода.
Sub OpenAllHiddenSheets()
Dim Sheet As Worksheet
For Each Sheet In ActiveWorkbook.Worksheets
If Sheet.Visible <> xlSheetVisible Then
Sheet.Visible = xlSheetVisible
End If
Next
End Sub
Теперь осталось только запустить этот макрос, и все спрятанные листы будут тут же открыты. Использование макросов – это удобный способ автоматизировать открытие и скрытие листов в зависимости от того, какие события происходят в программе. Также с помощью макросов можно показать большое количество листов за один раз. С использованием кода это всегда проще сделать.
Оцените качество статьи. Нам важно ваше мнение: