Отображение скрытых листов

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
СашаСВ
Сообщения: 20
Зарегистрирован: 11 май 2006, 16:11
Контактная информация:

Добрый день,

Прошу помощи в написании небольшого макроса который бы отображал несколько скрытых листов (начиная от двух). Макрос для того чтоб, их скрывать я написал с помощью мастера записи макросов, а вот чтоб отображать не получается :(
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

А можешь подробно описать, что надо, а то не понятно. Прямо по пунктам: 1, 2 и т.д.
СашаСВ
Сообщения: 20
Зарегистрирован: 11 май 2006, 16:11
Контактная информация:

У меня есть екселевский файл, в нем 7-8 листов. Периодически, (связано с работой) мне необходимо некоторые из этих листов скрывать (формат/лист/скрыть) и отображать (формат/лист/отобразить). Вручную постоянно скрывать и отображать неудобно и долго.
Макрос чтоб скрывать более, чем 1 лист я написал.
задача в следующем:
1. Написать макрос, который сможет отобразить два и более из скрытых листов

P.S. Макрос который может отображать 1 скрытый лист я создал:
Sub
Sheets("Лист 1").Visible = True
End Sub
а вот чтоб отобразить сразу несколько листов не получается.
Аватара пользователя
EducatedFool
Сообщения: 197
Зарегистрирован: 06 апр 2008, 14:03
Откуда: Россия, Урал
Контактная информация:

Код: Выделить всё

[color=darkblue]Sub[/color] test1() [color=green]' делаем ВСЕ листы видимыми[/color]
    [color=darkblue]Dim[/color] sh [color=darkblue]As[/color] Worksheet
    [color=darkblue]For[/color] [color=darkblue]Each[/color] sh [color=darkblue]In[/color] ThisWorkbook.Worksheets
        sh.Visible = xlSheetVisible
    [color=darkblue]Next[/color] sh
[color=darkblue]End[/color] [color=darkblue]Sub[/color]

[color=darkblue]Sub[/color] test2() [color=green]' делаем НЕКОТОРЫЕ листы видимыми[/color]
    [color=darkblue]Dim[/color] sh [color=darkblue]As[/color] Worksheet
    [color=darkblue]For[/color] [color=darkblue]Each[/color] sh [color=darkblue]In[/color] ThisWorkbook.Worksheets
        [color=darkblue]If[/color] sh.Index > 6 [color=darkblue]Then[/color] sh.Visible = xlSheetVisible
    [color=darkblue]Next[/color] sh
[color=darkblue]End[/color] Sub
Макросы для Excel, Word, CorelDRAW. Быстро, профессионально, недорого. http://ExcelVBA.ru/

Благодарности принимаются на кошелёк WebMoney: R318574877619 и Яндекс.Деньги: 41001335672216
СашаСВ
Сообщения: 20
Зарегистрирован: 11 май 2006, 16:11
Контактная информация:

Спасибо EducatedFool,

еще вопрос: можно ли такой макрос написать, чтоб отображать листы по названиям.

к примеру есть 3 листа: "данные", "анализ", "обработка", все три скрыты можно ли сделать так чтоб отобразить допустим листы "данные", "анализ".
Аватара пользователя
EducatedFool
Сообщения: 197
Зарегистрирован: 06 апр 2008, 14:03
Откуда: Россия, Урал
Контактная информация:

Код: Выделить всё

[color=darkblue]Sub[/color] НеТакойУжИСложныйМакрос()
    Worksheets("данные").Visible = xlSheetVisible
    Worksheets("анализ").Visible = xlSheetVisible
[color=darkblue]End[/color] [color=darkblue]Sub[/color]
Макросы для Excel, Word, CorelDRAW. Быстро, профессионально, недорого. http://ExcelVBA.ru/

Благодарности принимаются на кошелёк WebMoney: R318574877619 и Яндекс.Деньги: 41001335672216
СашаСВ
Сообщения: 20
Зарегистрирован: 11 май 2006, 16:11
Контактная информация:

Спасибо EducatedFool,
выручили!
Ответить