Excel - 抓取上次修改过单元格的用户名

时间:2018-05-03 10:39:59

标签: excel vba excel-vba

是否可以使用一些VBA来记录上次修改特定单元格的用户?即,如果有人打开工作簿并将值输入A1,我希望B1显示执行该操作的人的用户名,然后,如果其他人打开工作簿并将值输入A2,我会喜欢他们在B2中的用户名等等......我正在玩下面的例子,但是我不确定我是否会更接近,似乎我只能抓住上次修改后的用户名工作手册。

Function LastAuthor()
    LastAuthor = ActiveWorkbook.BuiltinDocumentProperties("Last Author")
End Function

1 个答案:

答案 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
相关问题