前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA技巧:在不保护工作簿的情况下防止删除工作表

VBA技巧:在不保护工作簿的情况下防止删除工作表

作者头像
fanjy
发布2022-11-16 11:03:00
1.8K0
发布2022-11-16 11:03:00
举报
文章被收录于专栏:完美Excel

标签:VBA

下面介绍一个使用少量VBA代码实现的简单实用的小技巧。

通常情况下,我们执行“保护工作簿”命令后,此时删除工作表的命令变成灰色,用户就不能轻易地删除工作表了。然而,这样也不能进行插入、移动或复制工作表的操作了。

如果想要在不保护工作簿的情况下防止用户删除工作表,而且允许用户插入工作表并对其进行重命名,也允许用户移动或复制工作表,有没有什么好的方法实现?可以使用下面的VBA代码,很简单,却很实用。

在工作簿的ThisWorkbook模块中粘贴或输入下面的代码:

代码语言:javascript
复制
Option Explicit
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    '保护工作簿,没有密码
    ThisWorkbook.Protect , True
    '自动运行指定过程
    Application.OnTime Now, "ThisWorkbook.RemoveProtection"
End Sub
Sub RemoveProtection()
   '撤销保护工作簿
    ThisWorkbook.Unprotect
End Sub

此时,用户再要删除该工作簿中的工作表,就会弹出“工作簿有保护,不能更改。”的警告信息(如下图1所示),但用户仍可以在该工作簿中进行添加工作表、移动或复制工作表、对工作表重命名等操作。

图1

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档