假设我们开始与工作表解锁和片材密码保护,密码中的所有单元格:
6LgSdHjc2uOssv0e1LDI
以下事件宏将:
- 取消保护工作簿
- 检测条目塔A
- 地方在列乙的用户名和在列中的日期/时间戳ç
- 锁定在列中的条目A,B,C
- 重新保护工作表。
这正好工作表中的代码区:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Range, MyPass As String, sh As Worksheet
Dim unit As Range
Set A = Range("A:A")
MyPass = "6LgSdHjc2uOssv0e1LDI"
Set sh = ActiveSheet
If Intersect(Target, A) Is Nothing Then Exit Sub
Set unit = Union(Target, Target.Offset(0, 1), Target.Offset(0, 2))
Application.EnableEvents = False
sh.Unprotect (MyPass)
unit.Locked = False
Target.Offset(0, 1) = Environ("Username")
Target.Offset(0, 2) = Now()
unit.Locked = True
sh.Protect (MyPass)
Application.EnableEvents = True
End Sub
因为它是工作表的代码,它是非常容易安装和自动使用:
- 右键单击该选项卡名称靠近Excel窗口的底部
- 选择查看代码 - 这将弹出一个VBE窗口
- 粘贴东西并关闭VBE窗口
如果您有任何疑虑,请先在试用工作表上尝试。
如果保存工作簿,宏将与其一起保存。 如果您正在使用一个版本的Excel更高然后2003,你必须 将文件保存为.XLSM而不是。XLSX
要删除宏:
- 弹出VBE窗口如上
- 清晰的代码进行
- 关闭VBE窗口
要了解更多关于宏一般,参见:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
要了解更多有关事件宏(工作表的代码),请参阅:
http://www.mvps.org/dmcritchie/excel/event.htm
宏必须为此工作启用!
嗨,我需要在给定范围内的数据输入后锁定每个单元格。就像我一次输入Y或N一样。不能再编辑它。以下是我的代码 – 3689 2015-02-23 12:27:32