Excel表格中如何设置特定日期后表格失效_利用VBA事件触发保护锁定

admin9个月前生活常识105

Excel工作表可通过VBA实现自动失效锁定:一、Workbook_Open事件在打开时检测日期并保护;二、Worksheet_Activate事件在激活时动态拦截编辑;三、结合Z1单元格设定失效日与当日动态密码解锁机制。

excel表格中如何设置特定日期后表格失效_利用vba事件触发保护锁定

如果您希望Excel工作表在特定日期之后自动失效并锁定,可以通过VBA事件(如Workbook_Open或Worksheet_Activate)实时检测系统日期,并在过期后启用保护、禁用编辑。以下是实现该功能的多种方法:

一、使用Workbook_Open事件自动检测并锁定

该方法在每次打开工作簿时触发检查,若当前日期超过设定的截止日期,则立即启用工作表保护并提示用户,阻止进一步编辑。

1、按 Alt + F11 打开VBA编辑器。

2、在左侧“工程资源管理器”中双击 ThisWorkbook。

3、在代码窗口中粘贴以下VBA代码:

Private Sub Workbook_Open()

Dim expiryDate As Date

expiryDate = #12/31/2024# '请替换为您设定的失效日期

If Date > expiryDate Then

   ActiveWorkbook.Protect Password:="locked"

   MsgBox "本工作表已过期,所有工作表已被锁定。", vbExclamation

   ThisWorkbook.Sheets(1).Protect Password:="locked"

End If

4、关闭VBA编辑器,将工作簿另存为启用宏的格式(.xlsm)。

二、使用Worksheet_Activate事件动态拦截编辑

该方法在用户切换到任一工作表时触发检测,即使工作簿已打开多日,也能在首次访问时即时响应过期状态,并通过取消Select和Edit动作强化锁定效果。

1、在VBA编辑器中双击目标工作表(例如 Sheet1)。

2、粘贴以下代码:

Private Sub Worksheet_Activate()

Dim expDate As Date: expDate = #12/31/2024#

If Date > expDate Then

   If Not Me.ProtectContents Then Me.Protect Password:="locked", UserInterfaceOnly:=False

   Application.EnableEvents = False

   MsgBox "该工作表已失效,禁止编辑。", vbCritical

   On Error Resume Next

   Me.Cells.Locked = True

   Me.EnableSelection = xlNoSelection

   On Error GoTo 0

   Application.EnableEvents = True

End If

三、结合单元格级时间戳与密码清除机制

该方法将失效日期写入指定单元格(如Z1),允许非开发人员后期修改截止日;同时设置“解锁入口”需输入动态口令(仅当日有效),增强可控性与审计痕迹。

1、在工作表任意空白单元格(如 Z1)中输入失效日期,格式为 2024/12/31。

2、在ThisWorkbook模块中添加如下事件:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If Range("Z1").Value  "" And Date > Range("Z1").Value Then

   Cancel = True

   MsgBox "工作表已过期,禁止保存更改。", vbStop

End If

3、在标准模块(插入 → 模块)中添加解锁函数:

Function TodayKey() As String

TodayKey = Format(Date, "yyyymmdd") & "EX"

End Function

4、用户可通过运行宏输入 =TodayKey() 获取当日唯一解锁码,用于临时解除保护(需另行编写UnlockByCode子过程)。

标签: Excel表格
免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

鲁大师官网入口地址详解_鲁大师硬件性能测试流程说明

鲁大师官网入口地址详解_鲁大师硬件性能测试流程说明

鲁大师官网入口地址是https://www.ludashi.com,提供硬件自动识别、硬盘健康诊断、多场景性能评分、驱动管理四大核心功能,全程本地运算保障隐私。鲁大师官网入口地址在哪里?这是不少网友都...

迅雷官方入口地址_迅雷官网直接访问

迅雷官方入口地址是https://www.xunlei.com/;该网址支持网页版下载、网盘存储、会员播放特权及浏览器协同功能,覆盖磁力解析、多线程加速、4GB文件上传、秒开播放、画质增强与跨端同步等...

鬼吹灯小说全集下载-鬼吹灯完美典藏版txt下载

鬼吹灯小说全集下载-鬼吹灯完美典藏版txt下载

鬼吹灯是一部非常出名的小说,他的题材十分的新鲜,采用了盗墓的形式来表现出中国文化的博大精深,渊源流传,是以不中国文学史上的艺术隗宝,而且文字和笔风  是非常干练精炼,是一款非常不错的书,喜欢...

中英文节约用水口号怎么写-中英文节约用水口号是什么

中英文节约用水口号怎么写-中英文节约用水口号是什么

1、节约用水是实施可持续发展战略的重要措施。 2、努力创建节水型城市,实施可持续发展。 3、大力普及节水型生活用水器具。 4、节约用水、保护水资源,是全社会共同责任。 5、开源与节流并重,节流优先、治...

绝地求生鼠标宏怎么设置?绝地求生罗技鼠标宏设置教程

绝地求生鼠标宏怎么设置?绝地求生罗技鼠标宏设置教程

绝地求生是一款战术竞技类射击生存游戏,玩家在游戏中的操作会直接影响生存的能力,很多玩家利用了鼠标宏的优势,能够在游戏中弥补自己自身的操作不足,从而达到一些平时无法做到的操作,下面小编就为大家提供了...

steam官网首页入口地址查询_steam账号创建及登录方法

steam官网首页入口地址查询_steam账号创建及登录方法

Steam官网地址是https://store.steampowered.com/,需手动输入并核验标识、版权信息及HTTPS安全锁;注册需用未注册邮箱、强密码、真实年龄;邮箱验证后设昵称;客户端按系...