|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2016 - [решено] Excel - VBA - скрытие всех листов кроме перечисленных |
|
2016 - [решено] Excel - VBA - скрытие всех листов кроме перечисленных
|
(*.*) Сообщения: 36471 |
Профиль | Сайт | Отправить PM | Цитировать Всем привет!
В книге Excel есть 3 листа, которые должны отображаться всегда, а также N листов, которые нужно скрывать. Скрытые листы должны отображаться только при переходе по ссылке из первых трех. Нагуглил такой код Private Sub Worksheet_Activate() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets If InStr(1, ws.Name, "Main", vbTextCompare) = 0 Then ws.Visible = False End If Next ws End Sub Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) With Worksheets(Target.Range.Value) .Visible = True .Activate .Range("A1").Select End With End Sub Видимо, надо загнать все отображаемые листы в переменную и сравнивать их по очереди, но не могу сообразить, как это сделать. Подскажете? Спасибо! |
|
------- Отправлено: 13:14, 04-09-2017 |
Динохромный Сообщения: 690
|
Профиль | Отправить PM | Цитировать Vadikan, можно воспользоваться кодом ниже, благо коллега Iska обозначил оптимальные пути решения .
Код нужно скопировать в модуль ThisWorkbook. Все листы рабочей книги, не входящие в список листов А, будут скрываться при каждом открытии файла. Private Sub Workbook_Open() Dim ws As Worksheet Dim strNames As String strNames = "Main1,Main2,Main3": ' Перечень листов через запятую, который можно менять strNames = "," & strNames & "," For Each ws In ThisWorkbook.Worksheets If Not InStr(strNames, "," & ws.Name & ",") <> 0 Then ws.Visible = xlVeryHidden End If Next ws End Sub Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink) With Worksheets.Item(Target.Range.Value) .Visible = True .Activate .Range(Target.SubAddress).Select End With End Sub |
Отправлено: 21:53, 25-11-2017 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
(*.*) Сообщения: 36471
|
Профиль | Сайт | Отправить PM | Цитировать Отлично, спасибо!
|
------- Отправлено: 00:42, 26-11-2017 | #12 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление всех файлов (всех типов) из всех подпапок, кроме расширений txt | kot318 | Скриптовые языки администрирования Windows | 10 | 12-02-2015 15:48 | |
2007 - [решено] Перебор листов и ячеек в VBA | alef2474 | Microsoft Office (Word, Excel, Outlook и т.д.) | 6 | 13-01-2013 18:28 | |
VBA - Объекты в VBA (Excel) | zena | Программирование и базы данных | 9 | 18-02-2012 20:36 |
|