EXCEL点击关闭后,自动运行宏 检查填写的内容是否正确。填写正确才可以关闭,如果填写错误,则不可关闭。

2024-12-15 17:02:40
推荐回答(3个)
回答1:

参考:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Cancel      当事件产生时为 False。如果该事件过程将本参数设为 True,则停止对工作簿的关闭操作,工作薄仍处于打开状态。


也就是说,定义一个BeforeClose事件过程

在过程中对所需的内容进行检查

如果不符合要求,则将Cancel变量赋值为True,这样就阻止了关闭的操作。


但是!正如【电脑维护工程师钟毅榕】专家所言,用户可以通过“禁止宏”来跳过这种检查,相反使用数据有效性的方式更加简便可靠,而且是在输入的时候即时检查,不符合就无法输入。

例如:A列必须是字母开头

可选中A1单元格,点击菜单:数据-有效性

设置有效性条件为“自定义”,公式:=AND(UPPER(left(A1,1))>="A", UPPER(LEFT(A1,1))<="Z")

还可添加“输入信息”提示用户输入的要求,以及添加“出错警告”,告知用户输入错误并提示正确要求。



用格式刷将A1单元格的有效性条件刷到整列即可。

回答2:

那你为什么不在用户填写的内容的时候就进行检查呢?用数据有效性来限制用户的输入就可以。

用宏的话,很多电脑是上禁止了宏你弄了也是白弄。

回答3:

正确,错误的标准是什么。
用什么来恒量?