Private Sub Worksheet_SelectionChange(ByVal Target As Range) For Each sht In Sheets If sht.Name <> "目录" Then sht.Visible = xlSheetHidden Next sht If Not Intersect(Target, Range("a:a")) Is Nothing Then Worksheets(Target.Value).Visible = xlSheetVisible Worksheets(Target.Value).Select End If End Sub 普通隐藏和深度隐藏都行,a列是工作表名,不用加超链接