Есть лист (Расстанавливать)этот лист всегда должен отображаться. При нажатии на Фамилии открывается другой лист. Я делаю эти страницы скрытными, и при нажатии на гиперссылку они уже естественно не открываются. Можно ли реализовать чтобы они все равно открывались.
То есть я нажимаю на Кокин и открывается лист с ссылкой на него, после нажимаю на этом листе (Кокин), на Токин и открывается лист с ним, а лист кокин автоматически опять становится скрытым. Лист Расстанавливать вседа должен отображаться, а вот остальные скрываться пока не перейду по гиперссылке на них. Выкладываю пример, но таких листов я буду делать где то 160
Есть лист (Расстанавливать)этот лист всегда должен отображаться. При нажатии на Фамилии открывается другой лист. Я делаю эти страницы скрытными, и при нажатии на гиперссылку они уже естественно не открываются. Можно ли реализовать чтобы они все равно открывались.
То есть я нажимаю на Кокин и открывается лист с ссылкой на него, после нажимаю на этом листе (Кокин), на Токин и открывается лист с ним, а лист кокин автоматически опять становится скрытым. Лист Расстанавливать вседа должен отображаться, а вот остальные скрываться пока не перейду по гиперссылке на них. Выкладываю пример, но таких листов я буду делать где то 160Nikitos79
Nikitos79, пример с макросом (нужен формат книги, поддерживающий макросы). [vba]
Код
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink) If Target.SubAddress = "" Then: Exit Sub Dim s As Object Set s = Target.Parent n$ = s.Offset(, -1).Text Application.ScreenUpdating = False For Each Sh In ActiveWorkbook.Sheets nt = Sh.Name If Sh.Name <> "Расстанавливать" Then If Sh.Name = n Then Sh.Visible = True Else If Sh.Visible Then Sh.Visible = False End If End If End If Next Sh Application.ScreenUpdating = True Worksheets(n).Activate Range(Names(Target.SubAddress).RefersToRange.Address).Select End Sub
[/vba]
Nikitos79, пример с макросом (нужен формат книги, поддерживающий макросы). [vba]
Код
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink) If Target.SubAddress = "" Then: Exit Sub Dim s As Object Set s = Target.Parent n$ = s.Offset(, -1).Text Application.ScreenUpdating = False For Each Sh In ActiveWorkbook.Sheets nt = Sh.Name If Sh.Name <> "Расстанавливать" Then If Sh.Name = n Then Sh.Visible = True Else If Sh.Visible Then Sh.Visible = False End If End If End If Next Sh Application.ScreenUpdating = True Worksheets(n).Activate Range(Names(Target.SubAddress).RefersToRange.Address).Select End Sub