是否可以使用一些VBA来记录上次修改特定单元格的用户?即,如果有人打开工作簿并将值输入A1,我希望B1显示执行该操作的人的用户名,然后,如果其他人打开工作簿并将值输入A2,我会喜欢他们在B2中的用户名等等......我正在玩下面的例子,但是我不确定我是否会更接近,似乎我只能抓住上次修改后的用户名工作手册。
Function LastAuthor()
LastAuthor = ActiveWorkbook.BuiltinDocumentProperties("Last Author")
End Function
答案 0 :(得分:3)
只要在A列中添加/修改/删除一个或多个值,就会在Windows B中插入Windows用户/网络用户。
将此添加到工作表的私有代码表中;不是公共模块代码表。
private sub worksheet_change(byval target as range)
if not intersect(range("A:A"), target) is nothing then
on error goto meh
application.enableevents = false
dim t as range
for each t in intersect(range("A:A"), target)
t.offset(0, 1) = environ("user")
't.offset(0, 2) = now
next t
end if
meh:
application.enableevents = true
end sub