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

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

最佳答案

每当在A列中添加/修改/删除一个或多个值时,这会将Windows用户/网络用户插入B列。

将其添加到工作表的专用代码表中;不是公共模块代码表。

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

关于excel - Excel-上一次修改单元格的用户的用户名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50152998/

10-17 02:28