为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

利用VBA代码实现自动隐藏、显示指定Excel工作表

2017-09-18 5页 doc 41KB 353阅读

用户头像

is_153723

暂无简介

举报
利用VBA代码实现自动隐藏、显示指定Excel工作表利用VBA代码实现自动隐藏、显示指定Excel工作表 利用VBA代码实现自动隐藏、显示指定Excel工作表 摘要:编写vba代码实现自动隐藏、显示任意excel文档中的指定工作表。 关键词:隐藏工作表 显示工作表 visible属性 vba代码 日常工作中我们会接触各种各样的数据。随着计算机的普及,人们都会使用这种现代化的工具处理数据。在计算机技术中专门有专业的数据库软件来管理数据,这其中有ibm 的db2、甲骨文的oracle、微软的sql server、unix系统用的informix、免费的mysql等等。这些都...
利用VBA代码实现自动隐藏、显示指定Excel工作表
利用VBA代码实现自动隐藏、显示指定Excel工作 利用VBA代码实现自动隐藏、显示指定Excel工作表 摘要:编写vba代码实现自动隐藏、显示任意excel文档中的指定工作表。 关键词:隐藏工作表 显示工作表 visible属性 vba代码 日常工作中我们会接触各种各样的数据。随着计算机的普及,人们都会使用这种现代化的工具处理数据。在计算机技术中专门有专业的数据库软件来管理数据,这其中有ibm 的db2、甲骨文的oracle、微软的sql server、unix系统用的informix、免费的mysql等等。这些都是功能强大并且得到用户广泛应用和认可的专业数据库软件。但是它们都有一个特点就是需要较长时间的学习才能掌握,这并不利用计算机水平一般又需要处理各种日常工作数据的用户。 其实对付数据量不是非常大的日常工作,我们几乎每个人都在用的excel就足够了。因此excel成了我们日常办公的数据处理软件的首选,很多中小企业的销售、财务、库房管理等都在使用它来完成数据的处理。但是excel 工作表在默认情况下是全部开放的,只要打开文件任何用户都可以任意操作。这时如果你既要共享excel数据分析处理的结果,又不想让对方看见具体数据,如何保密就成了问题。 例如:利用单位月费用报销的明细数据制作了各部门报销费用的比较图,希望发给各部门查看但又不能让对方看到具体数据项。这 就需要隐藏“原始数据”所在数据表,只显示“各部门报销费用比较图”所在的数据表。 下面就这个问题给出几种解决方法: 1 直接隐藏工作表 “右键单击指定工作表标签”?“隐藏”,这样重要的工作表就被隐藏起来了。虽然该方法简单易行,但是却存在一个致命弱点,他人只需右键单击任意工作表标签?“取消隐藏”,就会重现被隐藏的工作表。 2 隐藏工作表并保护工作簿 按照上面的方法将工作表隐藏,然后通过设置“保护工作簿?结构”(可以选择添加口令)。这样操作后被隐藏的工作表将无法再显示,只能先取消“保护工作簿”才能取消隐藏。 但是这个方法也有缺点,就是当“保护工作簿?结构”时,对于工作表的其它操作也无法进行,比如:插入、删除、重命名等。 3 visual basic 编辑器修改属性 3.1 “右键单击工作表标签”?“查看代码”,打开visual basic 编辑器窗口,在左侧可以看到“”和“属性”面板。 3.2 在“工程”面板中显示了该excel文档的所有工作表。选择要隐藏的工作表,然后在“属性”面板中设置 “visible”的参数 -xlsheetveryhidden。这样工作表就被隐藏了,而且此时“取为2 消隐藏”功能显示为灰色不可用。 但是别人只要知道这个方法,要显示工作表时只要再修改属性中“visible ”的参数为-1- xlsheetvisible就可以了。 3.3 为了防止无权用户的修改,我们需要设置口令。打开“visual basic编辑器窗口”?“工具?vbaproject属性?保护”选项卡,勾选“查看时锁定工程”,并设置查看工程属性的密码,单击“确定”按钮。 3.4 按下ctrl+s保存文件,返回excel界面并且关闭文件。下一次再打开该excel文档时,只要打开“visual basic编辑器窗口”就会立刻提示“vbaproject 密码”,只有输入正确密码才能继续操作。如此一来,即便有人知道这种操作方法,没有密码的话也不能显示出隐藏的工作表,因此大大增强了excel的安全性能。 注意:每个excel文档中必须至少有一个工作表的 visible 属性值为“1- xlsheetvisible”,即至少有一个工作表是显示的。 4 vba代码实现 4.1 新建excel文件?“右键单击工作表标签”?查看代码,打开“visual basic编辑器窗口”?工程?右键单击vbaproject(book1)?插入?模块?双击新建的“模块1”?在打开的窗口填写如下代码。 说明:这一系列操作会生成3个宏hide、show、showall,它们对应的功能如下“隐藏指定工作表”、“显示指定工作表”、“显示全部工作表”。 这段代码会将“password”为名称的工作表中,a列第1-10行单元格内容视为要被隐藏的工作表名称,并将它们高级隐藏。 sub hide() for i = 1 to 10 ‘设定判断1-10行 a = sheets(“password”).cells(i, 1) ‘把password表i行1列单元格内容放入变量a if a ““ then worksheets(a).visible = -1 else end if next end sub 这段代码会将文档中全部工作表显示 sub showall() dim ws as worksheet for each ws in sheets ws.visible = -1 next ws end sub 4.2 按下ctrl+s保存文件?右键单击“模块1”?导出文件?指定文件名和路径保存为.bas文件。 4.3 当有excel文档需要隐藏部分工作表时。“右键单击工作表标签”?查看代码,打开“visual basic编辑器窗口”?工程?右键单击vbaproject(“excel文件名”)?导入文件?导入刚刚导出的.bas文件。这是当前工作簿中就会有对应的3个宏了。 4.4 在当前文档新建名称为“password”的工作表,然后将要隐藏的工作表名称填入password工作表中a列1-10行单元格。最后执行“hide宏”,就可以实现工作表隐藏了。 注意:password工作表中a列1-10行单元格填写工作表名称一定要和当前excel工作簿中表名称完全相同,否则会导致代码运行错误。 以上是几种隐藏工作表的方法,最后1种方法是使用起来最方便的。每次只需导入宏代码,然后建立“password工作表”,再在a1-a10单元格中填入要隐藏的工作表名称,最后执行相应的宏就完成了。 参考文献: [1](美)沃肯巴赫.中文版excel 2010高级vba编程宝典.[m]清华大学出版社.2012-1-1. [2]杨章伟,张婉婉.excel vba语法辞典.[m]机械工业出版社. 2010-1-1. [3]为你的excel表设置密码.网络与信息.河马.[j]2009年第8期.
/
本文档为【利用VBA代码实现自动隐藏、显示指定Excel工作表】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索