我需要有关Excel电子表格的帮助。这是我需要做的事情。
需要保护4列。 1将包含谁进入该行。 1将包含创建日期的行。 1将包含谁最后更新了该行。并且1将包含上次更新的日期行。
为此,我已经有一个简单但有效的代码。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 Then Exit Sub
Application.EnableEvents = False
Cells(Target.Row, "AD").Value = Environ$("UserName")
Cells(Target.Row, "AE").Value = Date
If IsEmpty(Cells(Target.Row, "AG")) Then
Cells(Target.Row, "AG").Value = Environ$("UserName")
Cells(Target.Row, "AF").Value = Date
End If
Application.EnableEvents = True
End Sub
现在问题是删除一行。我在谷歌搜索时发现了VBA代码,但是当它删除行时,上面的代码就会执行并用数据填充4列。
有人可以给我看一个代码来处理删除吗?
谢谢
Rick ..
答案 0 :(得分:0)
就像乔希(Josh)在评论中提到的那样,布尔值将起作用。但是,您可能应该使用内置的事件“阻止程序”。
在删除“行禁用”事件之前,请确保未触发Worksheet_Change。完成所有更改后,再次启用事件。
Application.EnableEvents = False
'Delete stuff
Application.EnableEvents = True