Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2019, 16:52   #1
Skyborn
Новичок
Джуниор
 
Регистрация: 23.09.2016
Сообщений: 2
По умолчанию Переход по листам книги

Добрый день, форумчане!
Нашел в интернете макрос переход по листам из выпадающего списка, подскажите как сделать, что бы в выпадающем списке не было видно скрытые листы. Пример макроса в прикрепленном файле.
С Уважением Skyborn
Вложения
Тип файла: xls Переход_к_листу.xls (61.0 Кб, 5 просмотров)
Skyborn вне форума Ответить с цитированием
Старый 25.12.2019, 20:28   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
For Each Sht In ActiveWorkbook.Sheets
        If Sht.Name = ActiveSheet.Name Then _
          ListPos = ShtNum - 1
        If Not Sht.Visible = xlSheetHidden Then
            SheetData(ShtNum, 1) = Sht.Name
            Select Case TypeName(Sht)
                Case "Worksheet"
                    SheetData(ShtNum, 2) = "Лист"
                    SheetData(ShtNum, 3) = _
                      Application.CountA(Sht.Cells)
                Case "Chart"
                    SheetData(ShtNum, 2) = "Диаграмма"
                    SheetData(ShtNum, 3) = "N/A"
                Case "DialogSheet"
                    SheetData(ShtNum, 2) = "Диалог"
                    SheetData(ShtNum, 3) = "N/A"
            End Select
            If Sht.Visible Then
                SheetData(ShtNum, 4) = "Видимый"
            Else
                SheetData(ShtNum, 4) = "Скрытый"
            End If
            ShtNum = ShtNum + 1
        End If
    Next Sht
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 25.12.2019, 20:28   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Добрый день.
В коде есть как минимум один косяк, а именно - это часть нужно переписать например так:
Код:
        Select Case Sht.Visible
        Case -1: SheetData(ShtNum, 4) = "Видимый"
        Case 0: SheetData(ShtNum, 4) = "Скрытый"
        Case 2: SheetData(ShtNum, 4) = "Очень скрытый"
        End Select
Ну а если нужно выводить только видимые - ну значит первым делом нужно проверить значение Sht.Visible, всё остальное в зависимости от результата проверки.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 25.12.2019, 20:30   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Код:
        If Not Sht.Visible = xlSheetHidden Then
- упустили veryhidden!
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 25.12.2019, 21:02   #5
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
- упустили veryhidden!
думаю ТС скрывает лист простым способом : ПКМ-скрыть, иначе знал бы как проверить. Да и его строка
Код:
If Sht.Visible Then
его ли раз спрашивает ?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 25.12.2019, 21:12   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Так суперскрытый при его подходе попадает в категорию видимых!
А вообще это дело принципа, мало ли кто как когда лист скроет...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 26.12.2019, 10:59   #7
Skyborn
Новичок
Джуниор
 
Регистрация: 23.09.2016
Сообщений: 2
По умолчанию

Добрый день, форумчане!
Спасибо огромное за помощь с макросом, все получилось, все работает.
С наступающим Вас Новым годом!
С Уважением Skyborn.
Skyborn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перенос чисел по ячейкам, проверка по всем листам книги alex241v Microsoft Office Excel 23 25.11.2015 09:21
Переход по листам lavrentiyy Microsoft Office Excel 7 29.09.2010 22:56
Переход на другой лист книги svetly12 Microsoft Office Excel 1 13.06.2010 14:54
Поиск данных по всем листам книги demon_81 Microsoft Office Excel 0 20.01.2010 11:28
как с помощью формы календарь, передвигаться по листам книги Excel Deni55 Microsoft Office Excel 3 15.04.2009 12:57