При створенні звітів, форм для заповнення, анкет та інших документів іноді потрібно сховати від очей користувача зайву (надлишкову) інформацію: довідники, сирі дані і т.п.
У даній статті ми розглянемо можливі варіанти приховування листів і спробуємо автоматизувати цей процес.
Сховати - Приховування листа з панелі ярликів листів (та, що знаходиться в нижній частині вікна).
Відобразити ... - вибір листа з числа прихованих для відображення на панелі ярликів листів.
- функціонал вже вбудований в Excel
- простота використання
- відсутність необхідності використання макросів
- відобразити лист може будь-хто, навіть непідготовлений користувач
Геть ярлики
На рівні коду Visual Basic цей параметр можна встановлювати, наприклад при відкритті / закритті книги наступним чином:
Процедура Workbook_Open приховує панель ярликів при відкритті книги, а Workbook_BeforeClose - відображає її при закритті книги.
- функціонал вже вбудований в Excel
- простота використання
- відсутність необхідності використання макросів
- відобразити панель може будь-хто, навіть непідготовлений користувач
Дуже прихований лист
Раніше ми розглянули стандартний шлях приховування листа.
У вікні властивостей поточного аркуша знаходимо параметр Visible і встановимо йому значення "2 - xlSheetVeryHidden".
Лист буде відразу прихований з панелі ярликів, також його буде неможливо відобразити стандартними засобами.
Єдиним способом відображення листів, прихованих подібним чином, є зміна параметра видимості листа у властивостях листа.
- функціонал вже вбудований в Excel
- простота використання
- відсутність необхідності використання макросів
- користувач повинен мати певний рівень знань для відображення листа
Макрос вам на допомогу
Якщо ви розумієте, що приховувати листи доводиться досить часто, то варто подивитися в бік створення макросів, що автоматизують цей процес. Розглянь нижче кілька варіантів макросів для різних випадків.
Приховати поточний лист
Макрос приховує поточний обраний лист:
Приховати певний лист
Макрос приховує лист, ім'я або порядковий номер якого вказаний користувачем:
Рядки 3, 5 і 7 по-різному визначають ідентифікатор листа, але результат функції в кожному окремому випадку буде однаковим.
Приховати все листи, крім поточного
Макрос приховує всі листи книги за винятком поточного обраного листа. Пам'ятайте, що приховати абсолютно все листи книги неможливо - повинен залишитися видимим хоча б один лист, інакше виникне помилка при виконанні макросу.
Даний макрос перебирає всі листи книги, і якщо це не поточний лист - приховує його.
Відобразити все листи
Макрос відображає всі аркуші книги, в тому числі приховані і "дуже приховані".
Даний макрос перебирає всі листи книги, і якщо лист прихований - відображає його.