ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4233|回复: 29

[已解决] 请问如何设置隐藏除首页外的其他工作表,同时可以由首页来打开已经隐藏了的工作表。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-3-23 01:08 | 显示全部楼层 |阅读模式
如题:请问如何设置隐藏除首页外的其他的工作表,同时可以由首页来打开已经隐藏了的工作表。
        说明:假设我在一个工作薄中添加了包括:首页、第1页、第2页、第3页。。。第10页等等N个工作表。 我想将除首页之外的其他的第1页、第2页、第3页等等的这些工作全部隐藏起来,然后在首页设置 一些按钮(或超链接)点击即可进入我想进入的工作表。

我试过用以下的代码试过,可有时候会失灵,有时候会出现第1页失去链接,而点击第2页的链接条却进入了第1页,点击第3页却进入了第2页。。。以此类推。最后一页打不开了。
Private Sub Worksheet_Activate()
        Dim sht As Worksheet
        For Each sht In Worksheets
               If sht.Name <> Sheets(1).Name Then sht.Visible = xlSheetVeryHidden
        Next sht
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
               On Error Resume Next
              Sheets(Target.Value).Visible = xlSheetVisible
              Sheets(Target.Value).Select
End Sub
我的编辑步骤是:
第一、按照最常用的方法对此工作薄worksheet中的对应名称建立超链接。   
第二、然后在VBA编辑器里的工作簿下的首页[即Sheets(1)]的代码栏里粘贴以上的代码。
第三、运行代码并保存退出。


不知道为什么,这个方法有时候是没有错误的,有时候却会出错。在此请求各位大虾指点指点。
最好是有其他更好的方法来实现我想要的这个效果。
如果有的话,请跟贴把BVA代码发上来并作详细步骤解释,谢谢!!!因为我是菜鸟,不懂怎么弄。
        

TA的精华主题

TA的得分主题

发表于 2013-3-23 08:41 | 显示全部楼层
需要在thisworkbook中添加工作簿事件代码。
  1. Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
  2.     If Sh.Name <> "首页" Then Sh.Visible = 2
  3. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-24 16:25 | 显示全部楼层
AVEL 发表于 2013-3-23 08:41
需要在thisworkbook中添加工作簿事件代码。

您好!将这些代码复制进去后,如果用超链接的方法,还是不行。用录制宏的方法,一点击就提示:VBA运行时错误‘1004’类的worksheet的select方法无效。


这是怎么回事?
添加这些代码之前,和添加代码之后还要做哪些操作吗?你能详解一下吗?感激不尽!

TA的精华主题

TA的得分主题

发表于 2013-3-24 19:31 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-25 21:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
AVEL 发表于 2013-3-24 19:31
能否做个附件上传看看。。

例表.rar (64.29 KB, 下载次数: 20) 好的,表件已经上传,有劳指教!

TA的精华主题

TA的得分主题

发表于 2013-3-26 08:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
一天36小时 发表于 2013-3-25 21:48
好的,表件已经上传,有劳指教!

我的系统只有2003版本的。
所以。。。。 打不开你附件中的文件。

TA的精华主题

TA的得分主题

发表于 2013-3-27 08:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
一天36小时 发表于 2013-3-27 08:33
哇~~~,做得很好哦!请问方便给我讲解一下吗?要怎么设置的具体步骤是什么?

主要就是应用工作簿事件,工作表事件来实现的
工作簿事件控制从其他表格跳到首页时候的隐藏
工作表事件用来控制跳转至相应的工作表

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-26 16:19 | 显示全部楼层
AVEL 发表于 2013-3-26 08:26
我的系统只有2003版本的。
所以。。。。 打不开你附件中的文件。

嗯,收到。
麻烦你啦!
还是谢谢!

我再求助于其他人吧。祝你好运!

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-3-26 16:20 | 显示全部楼层
有路过的高手,请伸出你们的援手,急用的,感激不尽!

TA的精华主题

TA的得分主题

发表于 2013-3-26 20:58 | 显示全部楼层
今天回家了
给你做了一个。
试试
点击首页的相应的名称 会自动跳转
EH(AVEL)-例表1-1用超链接来打开工作表的例表(添加您的代码前) 13-03-26 20-57.rar (25.39 KB, 下载次数: 114)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-9-29 18:21 , Processed in 0.045550 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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