Скрытие рабочих листов и защита ячеек в 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
и все готово:)