Я собрал форму для сбора данных, которая распределена по пяти листам. Есть ли способ сделать эти листы невидимыми, чтобы пользователи вынуждены перемещаться с помощью кнопок листов, а также редактировать только определенные ячейки?

Если я хочу включить функцию для разблокировки всего, просто нажав, например, Ctrl + D, мне нужно написать макрос или это можно сделать другим способом?

1 ответ1

3

Да, можно скрыть листы и в то же время убедиться, что они не отображаются на вкладках листов

Давайте возьмем пример

Создайте лист под названием 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 и все готово :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .