Excel VBA-第一张表中的超链接

时间:2014-09-08 09:47:47

标签: excel vba excel-vba

我有一个工作簿,有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个案例。什么可以避免这种情况或用案例取代?

1 个答案:

答案 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