Скрытие рабочих листов и защита ячеек в Excel 2010
Я собрал форму для сбора данных, которая распределена по пяти листам. Есть ли способ сделать эти листы невидимыми, чтобы пользователи вынуждены перемещаться с помощью кнопок листов, а также редактировать только определенные ячейки?
Если я хочу включить функцию для разблокировки всего, просто нажав, например, Ctrl + D, мне нужно написать макрос или это можно сделать другим способом?
1 ответ
Да, можно скрыть таблицы и в то же время убедиться, что они не отображаются на вкладках листов
Давайте возьмем пример
Создайте лист с именем DASHBOARD, Это лист, с которого вы будете звонить на остальные листы. Допустим, есть еще 3 листа Magda1, Magda2 а также Magda3
На ваше DASHBOARD лист создать 3 кнопки. Давайте назовем их Open Magda1, Open Magda2 а также Open Magda3 Смотрите скриншот.

Следующий двойной щелчок Open Magda1 и вставьте этот код
Option Explicit
Private Sub CommandButton1_Click()
Dim ws As Worksheet
Sheets("Magda1").Visible = True
For Each ws In ThisWorkbook.Sheets
If ws.Name <> "Magda1" Then ws.Visible = xlSheetHidden
Next
End Sub
Точно так же у вас будут коды для двух других кнопок
Private Sub CommandButton2_Click()
Dim ws As Worksheet
Sheets("Magda2").Visible = True
For Each ws In ThisWorkbook.Sheets
If ws.Name <> "Magda2" Then ws.Visible = xlSheetHidden
Next
End Sub
Private Sub CommandButton3_Click()
Dim ws As Worksheet
Sheets("Magda3").Visible = True
For Each ws In ThisWorkbook.Sheets
If ws.Name <> "Magda3" Then ws.Visible = xlSheetHidden
Next
End Sub
Далее перейдите к Magda1 лист и поместите кнопку в левом верхнем углу (или по вашему выбору). Назови это BACK Эта кнопка вернет нас к DASHBOARD, Посмотреть скриншот

Вставьте этот код в событие нажатия кнопки
Option Explicit
Private Sub CommandButton1_Click()
Dim ws As Worksheet
Sheets("DASHBOARD").Visible = True
For Each ws In ThisWorkbook.Sheets
If ws.Name <> "DASHBOARD" Then ws.Visible = xlSheetHidden
Next
End Sub
Аналогично место BACK нажмите на двух других листах и добавьте приведенный выше код.
Одна последняя вещь. Нажмите на File вкладку, а затем нажмите на Options, Далее нажмите на Advanced вкладка в Excel Option диалоговое окно и снимите флажок, который говорит Show Sheet Tabs

Наконец выйти из Design Mode и все готово:)
