ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助]技巧135 在受保护的工作表中调整分级显示视图

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-5-1 10:35 | 显示全部楼层

工作表保护下使用分级显示无法使用自动筛选功能

老师你好~~
private sub  workbook_open()
worksheets("sheet3") .protect password:="pwd",    userinteraceonly:=true
worksheets("sheet3").enableautofilter=true
end sub
这段代码能解决(在受保护的工作表中调整分级显示视图),但是又有个新问题出现了,
我的工作表在保护下,可以使用自动筛选功能的,然后把这段代码一上去,每次打开工作
表都使用不到自动筛选功能。请老师帮忙解决下,我的QQ是1113607665,邮箱是1113607665@qq.com

TA的精华主题

TA的得分主题

发表于 2011-10-10 18:07 | 显示全部楼层
{:soso_e185:}顶上去。有哪位大侠解决了上面的问题了吗?(在受保护的表格里面,既可以使用组,又可以使用自动筛选)

TA的精华主题

TA的得分主题

发表于 2012-1-17 15:43 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-8-20 14:16 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-12-1 09:20 | 显示全部楼层
补充说明:
Private Sub Workbook_Open()
   Worksheets("sheet3").Protect Password:="pwd", userinterfaceonly:=True
   Worksheets("sheet3").EnableOutlining = True
End Sub

1、如果自己更改过表名,请将上述代码中sheet3改为自己改的表名(如:汇总表)。
2、自己设置了保护工作表的密码,请将上述代码中pwd改为自己设的密码(如:1234)。
3、把代码弄好后,请保存后关闭Excel软件,再重新打开,Excell软件会提示启用宏功能,请点击启用宏,方可正常使用分级显示功能。
4、已测试Excel2003~2013均可使用这段代码实现分级显示功能。

TA的精华主题

TA的得分主题

发表于 2015-12-1 09:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
fubozhangl 发表于 2011-5-1 10:35
老师你好~~
private sub  workbook_open()
worksheets("sheet3") .protect password:="pwd",    userinte ...

在启用保护工作表功能下,实现“分级显示”和“自动筛选”功能:
Private Sub Workbook_Open()
   Worksheets("sheet3").Protect Password:="pwd", userinterfaceonly:=True
   Worksheets("sheet3").EnableOutlining = True
   Worksheets("sheet3").EnableAutoFilter = True
End Sub

TA的精华主题

TA的得分主题

发表于 2019-10-29 15:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
fubozhangl 发表于 2011-5-1 10:35
老师你好~~
private sub  workbook_open()
worksheets("sheet3") .protect password:="pwd",    userinte ...

不知道你的这个问题解决了没有?
如果解决了,能否分享给我。
谢谢!

TA的精华主题

TA的得分主题

发表于 2020-6-4 10:42 | 显示全部楼层
白天睡觉 发表于 2009-1-18 10:15
刚才发现有很多贴子都在问这个问题,都没解决。
我把08年以后的帖子都回了,引用这个贴。
怕有人不会VBA ...

请教一下如果要对一个工作薄下的所有工作表设置这个功能,代码应该如何写,感谢

TA的精华主题

TA的得分主题

发表于 2020-9-28 21:54 | 显示全部楼层
针对多个工作表,用以下代码,在锁定工作表的情况下,可以使用分级显示和自动筛选
Private Sub workbook_Open()
Dim i%
For i = 1 To Sheets.Count
With Sheets(i)
.EnableOutlining = True
.EnableAutoFilter = True
.Protect "ABC", userInterfaceOnly:=True '把ABC改成你的保护密码
End With
Next
End Sub

但是我的所有工作表中需要点击按钮执行一个自动调整行高的宏(放在模块当中),在Excel中没问题,在WPS2019中不能执行,提示Rows(i).EntireRow.AutoFit这一句出错,还没找到办法解决,因为工作中经常Excel和wps换用,wps有一些功能方便。请大师解决。

TA的精华主题

TA的得分主题

发表于 2020-9-29 12:57 | 显示全部楼层
dengcaimao 发表于 2020-9-28 21:54
针对多个工作表,用以下代码,在锁定工作表的情况下,可以使用分级显示和自动筛选
Private Sub workbook_O ...

自己今天想了一个苯办法,在自动调整行高的宏中加入工作表解保护,再保护,再执行一次
For i = 1 To Sheets.Count
With Sheets(i)
.EnableOutlining = True
.EnableAutoFilter = True
.Protect "ABC", userInterfaceOnly:=True '把ABC改成你的保护密码
End With
Next
可以解决WPS中在保护工作表的情况下,能使用分级显示、筛选和自己定义的自动调整行高的宏。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 20:16 , Processed in 0.040587 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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