-1

У меня есть файл Excel 2007 со многими листами, и мне нужно скрыть или показать их все (кроме одного).

Легко спрятать весь лист, но как показать все 200 листов вместе?

Я знаю, что могу написать макрос, чтобы показать листы, но чтобы ехать таким образом, мне нужно извлечь все имена листов, чтобы продолжить.

1 ответ1

2

Не уверен, почему вы должны извлечь все имена листов.

Сокрытие листов

AFAIK Есть два способа сделать это.

Выберите все листы, которые вы хотите скрыть, а затем щелкните правой кнопкой мыши и выберите "Скрыть".
Или на вкладке "Главная" в группе « Ячейки » нажмите « Формат», а в разделе « Видимость» нажмите « Скрыть и показать», а затем - « Скрыть лист».

Другой способ сделать это - зациклить листы простым макросом, скрывая все листы, кроме выбранного в данный момент:

Sub hideSheets()
Dim wS As Worksheet, Current As String
Current = ActiveSheet.Name
For Each wS In Worksheets
    If Not wS.Name = Current Then
        wS.Visible = False
    End If
Next
End Sub

Показаны листы

Чтобы снова показать все листы, код еще проще.

Sub showSheets()
Dim wS As Worksheet
For Each wS In Worksheets
        wS.Visible = True
Next
End Sub

дополнительный

Если вы хотите настроить таргетинг на конкретный лист, который не является активным в данный момент (чтобы скрыть все, кроме или показать все, кроме), просто измените Current = ActiveSheet.Name to Current = InputBox("Enter Sheet Name") и вместо этого вы получаете имя листа в поле ввода.

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