我有一个工作簿,有110个工作表。
第一张是main,其中包含指向其他工作表的超链接。 我需要编写一个应该隐藏除第一张主页之外的其他工作表的代码。 在完成我的工作之后,它应该转到第一张纸并休息其他隐藏。 我得到了以下代码:
Private Sub Worksheet_Activate()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
If sh.Name <> "Summary" Then
sh.Visible = xlSheetHidden
End If
Next sh
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Select Case Target.Address
Case "$A$1"
Sheets("100% Complete").Visible = True
Sheets("100% Complete").Activate
Case "$A$2"
Sheets("Almost Complete").Visible = True
Sheets("Almost Complete").Activate
End Select
End Sub
但为此我必须写110个案例。什么可以避免这种情况或用案例取代?
答案 0 :(得分:1)
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Dim x As Integer
With Target
x = InStr(.Range, "!")
If x > 0 Then
Worksheets(Left(.Range, x - 1)).Visible = xlSheetVisible
Else
Worksheets(.Range).Visible = xlSheetVisible
End If
End With
End Sub