Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6717|回复: 12

[已解决]求助:在sheet1做多个超链,链接到多个隐藏的工作表。

[复制链接]
发表于 2012-2-6 20:18 | 显示全部楼层 |阅读模式
求助:在sheet1做多个超链,链接到sheet2、sheet3,sheet2、sheet3等都要隐藏。
最佳答案
2012-2-7 00:15
这是第二步,做完第一步后,点击运行SUB创建目录,自动生成目录工作表后,再复制这个代码,双击目录工作表,粘贴进去第二个代码,一切就OK了!
    说明: 点击超级链接转到那个工作表后,按CTRL+J键就返回到目录表中,同时隐藏当前工作表
  1. Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
  2.     Sheets(Target.Name).Visible = True
  3.     Sheets(Target.Name).Select
  4.      
  5. End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-2-7 00:06 | 显示全部楼层
你的意思超简单
   我来扩充一下:
       除了SHEET1其余的工作表都要隐藏
       在SHEET1做个所有工作表的超链接
        点击链接转到工作表,当然同时取消当前工作表的隐藏,按一个自定义的快捷键,返回到SHEET1,同时恢复到初始状态,除了SHEET1所有工作表都隐藏
   是不是这样
回复

使用道具 举报

发表于 2012-2-7 00:07 | 显示全部楼层
本帖最后由 不解木野狐 于 2012-2-7 00:09 编辑



  1. Option Explicit

  2. Sub 创建目录()
  3.    
  4.     Application.ScreenUpdating = False
  5.     Dim i As Integer, Sht_Count
  6.      If Not IsSht("目录") Then Sheets.Add(Sheets(1)).Name = "目录"
  7.         Sht_Count = Sheets.Count
  8.           For i = 2 To Sht_Count
  9.             Sheets("目录").Hyperlinks.Add Anchor:=Sheets("目录").Cells(i - 1, 2), Address:="", SubAddress:="'" _
  10.                           & Sheets(i).Name & "'!A1", TextToDisplay:=Sheets(i).Name, _
  11.                                ScreenTip:="单击打开:" & Sheets(i).Name
  12.          Next i
  13.      Application.ScreenUpdating = True
  14.       Dim SHE As Worksheet
  15.          For Each SHE In Sheets
  16.               If SHE.Name <> "目录" Then
  17.                  SHE.Select
  18.                  ActiveWindow.SelectedSheets.Visible = False
  19.               End If
  20.           Next
  21.     Application.OnKey "^j", "返回目录"
  22. End Sub

  23. Function IsSht(ShtName As String) As Boolean
  24.     On Error Resume Next
  25.     Dim sht As Worksheet
  26.     Set sht = Sheets(ShtName)
  27.     IsSht = (Err = 0)
  28. End Function
  29. Sub 返回目录()
  30.     ActiveSheet.Select
  31.     ActiveWindow.SelectedSheets.Visible = False
  32.     If IsSht("目录") Then Sheets("目录").Select
  33. End Sub


复制代码
  1. 这是第一步,先插入一个模块,复制粘贴进去
复制代码

回复

使用道具 举报

发表于 2012-2-7 00:15 | 显示全部楼层    本楼为最佳答案   
这是第二步,做完第一步后,点击运行SUB创建目录,自动生成目录工作表后,再复制这个代码,双击目录工作表,粘贴进去第二个代码,一切就OK了!
    说明: 点击超级链接转到那个工作表后,按CTRL+J键就返回到目录表中,同时隐藏当前工作表
  1. Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
  2.     Sheets(Target.Name).Visible = True
  3.     Sheets(Target.Name).Select
  4.      
  5. End Sub
复制代码
回复

使用道具 举报

发表于 2012-2-7 00:25 | 显示全部楼层
再发一个附件及动画演示{:4212:}
超级链接与自动隐藏.gif

不解木野狐的回答超级链接与自动隐藏.rar

22.25 KB, 下载次数: 137

回复

使用道具 举报

 楼主| 发表于 2012-2-7 10:14 | 显示全部楼层
不解木野狐 发表于 2012-2-7 00:06
你的意思超简单
   我来扩充一下:
       除了SHEET1其余的工作表都要隐藏

基本上是这样。但另外还有几个工作表是不隐藏的。
回复

使用道具 举报

 楼主| 发表于 2012-2-7 10:15 | 显示全部楼层
不解木野狐 发表于 2012-2-7 00:25
再发一个附件及动画演示

这样的话会将目录以外的所有工作表隐藏。我还有工作表是不要隐藏的。
回复

使用道具 举报

发表于 2012-2-7 10:51 | 显示全部楼层
1091126096 发表于 2012-2-7 10:15
这样的话会将目录以外的所有工作表隐藏。我还有工作表是不要隐藏的。

那您告诉我不需要隐藏的工作表的名称,或者这些不需要隐藏的工作表表名都有一个相同的关键字什么的,这样更好{:4012:}
回复

使用道具 举报

发表于 2012-2-7 11:35 | 显示全部楼层
1091126096 发表于 2012-2-7 10:15
这样的话会将目录以外的所有工作表隐藏。我还有工作表是不要隐藏的。

我记得刚才回复了,怎么没有显示啊?{:4212:}
     您的不需要隐藏的工作表表名是什么啊?您告诉我,我再改改代码{:4312:}
回复

使用道具 举报

发表于 2012-2-8 13:00 | 显示全部楼层
那个gif做的太帅了,高科技
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-28 06:19 , Processed in 0.316012 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表