excel - 单击提交按钮后,有没有办法阻止某些 Excel 单元格输入?
问题描述
我有一个宏excel,在我填写一些信息后,我单击提交按钮,文件通过电子邮件发送。我需要的是在提交功能启动和电子邮件发送之间的过程中,该文件被阻止以进行先前的编辑。任何帮助都会很棒,谢谢。
我尝试了以下代码,但它不起作用
Set MyRange = Intersect(Range("J6:J7"), Target)
If Not MyRange Is Nothing Then
Sheets("Sheet").Unprotect Password:="123"
MyRange.Locked = True
Sheets("Sheet").Protect Password:="123"
End If
解决方案
假设您正在使用Worksheet_Change(ByVal Target As Range)
,我更改MyRange.Locked = True
为Cells.Locked = True
以保护您的整个工作表。
预期的结果是,每当 J6 或 J7 中的任何一个更改都会触发对整个工作表的保护。
Set MyRange = Intersect(Range("J6:J7"), Target)
If Not MyRange Is Nothing Then
Sheets("Sheet").Unprotect Password:="123"
Cells.Locked = True
Sheets("Sheet").Protect Password:="123"
End If
如果您没有使用 Worksheet_Change 事件,那么我更改了您的条件以测试单元格是否具有价值。
If Len(Range("J6").Text) <> 0 Or Len(Range("J7").Text) <> 0 Then
Sheets("Sheet").Unprotect Password:="123"
Cells.Locked = True
Sheets("Sheet").Protect Password:="123"
End If
推荐阅读
- c# - LINQ 的质数不起作用
- php - 需要帮助来调试 PHP 代码
- python - 在heroku / module not found错误上部署django应用程序的问题
- sqlite - 按类型加减
- ipython - 在不重新启动的情况下重置 iPython %run file.py
- javascript - 如何使用 Handlebars 编写一行 If 语句?
- javascript - PHP 在 URL POST 上打开一个新标签页
- python - python panda:返回常见行的索引
- c - 如何在管道的文件描述符上的线程块中进行 read()?
- node.js - Http连接保持活跃与Node js