分享

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

 hercules028 2022-07-12 发布于四川
excelperfect

标签:VBA
下面介绍一个使用少量VBA代码实现的简单实用的小技巧。
通常情况下,我们执行“保护工作簿”命令后,此时删除工作表的命令变成灰色,用户就不能轻易地删除工作表了。然而,这样也不能进行插入、移动或复制工作表的操作了。
如果想要在不保护工作簿的情况下防止用户删除工作表,而且允许用户插入工作表并对其进行重命名,也允许用户移动或复制工作表,有没有什么好的方法实现?可以使用下面的VBA代码,很简单,却很实用。
在工作簿的ThisWorkbook模块中粘贴或输入下面的代码:
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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多