Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: Jim от 04.10.2018, 17:28

Название: отображение нескольких листов с выбором
Отправлено: Jim от 04.10.2018, 17:28
Всем доброго времени суток.

у меня вот давно есть такой макрос, который позволяет сразу отобразить все скрытие листы.
Sub ShowShts()
Dim a
For Each a In Worksheets
a.Visible = True
Next
End Sub

можно ли как то сделать, чтобы у меня был выбор, отобразить только нужные листы, например 5 листов из 20 скрытых.
т.е. наверное необходимо всплывающее окно, со списком скрытых листов, и чтобы можно было выделить несколько (к примеру через Ctrl) или один.

Прошу помочь с данной задачей.
Спасибо. 
Название: Re: отображение нескольких листов с выбором
Отправлено: boa от 04.10.2018, 20:01
Здравствуйте,
добавьте в эту книгу лист со списком "только нужных" листов
и запускайте, измененный код
Sub ShowShts()
Dim a As Range
Dim b As Range
Set b = [A1:A10]   'здесь укажите ссылку на свой список "только нужных" листов
For Each a In b
If Not IsEmpty(a.Value) Then Worksheets(a.Value).Visible = True
Next
End Sub
Название: Re: отображение нескольких листов с выбором
Отправлено: Jim от 05.10.2018, 10:51
спасибо за ответ.
но это немного не подходит.
нужные листы всегда будут меняться. + файлов будет много
мне необходим макрос без дополнительных листов, т.к. хочу это сделать как надстройку.

возможно такое сделать?
Название: Re: отображение нескольких листов с выбором
Отправлено: vikttur от 05.10.2018, 11:50
Затруднительно... Если имена листов будут меняться, где-то нужно хранить список листов.
Название: Re: отображение нескольких листов с выбором
Отправлено: boa от 05.10.2018, 12:00
создайте форму с листбоксом
в качестве источника строк листбокса передайте список листов(скрытых)
а на кнопку повесьте макрос отображающий выбранные в листбоксе значения
Название: Re: отображение нескольких листов с выбором
Отправлено: Serge 007 от 06.10.2018, 15:03
Цитата: boa от 05.10.2018, 12:00
создайте форму с листбоксом
в качестве источника строк листбокса передайте список листов(скрытых)
а на кнопку повесьте макрос отображающий выбранные в листбоксе значения
Здравствуйте

Делали мне когда-то давно надстройку, которая умеет скрывать и отображать листы по разным критериям. Сама надстройка во вложении, в архиве. Вам надо будет немного доработать её, добавив пункт выбора скрытых листов
(http://www.excelworld.ru/Author/Serge_007/Pict/listy.bmp)
Название: Re: отображение нескольких листов с выбором
Отправлено: boa от 08.10.2018, 10:36
создал описанное в прошлом посте