VBA在创build行时添加用户名
我目前有一个场景,有几个用户input数据行到Excel表。 没有共享的工作簿设置,因此只有一个用户可以随时打开文档。 有没有一种VBA方法可以用来捕获当前打开文档的用户的名字,并在每次将一行添加到表中时插入它? 从而给每一行的作者。
您可以在相关工作表的代码窗格中添加下面的代码
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Columns("A:N"), Target) Is Nothing Then Cells(Target.Row, "O").Value = Environ$("Username") End Sub
当然你可以微调在列“O”中插入用户名的If
子句,
以下代码将获取用户的名称:
Application.UserName
我至less在我的工作电脑上find:
Environ$("Username")
给予pipe理员
Application.UserName
给IT
现在,我可以将我的Application.UserName
更改为我的名字 – 很容易做一点知识,但是我发现很多办公室的工作人员没有那么一点知识。
另一方面,Outlook往往设置为特定的用户,所以当Excel首先打开并存储在一个全局variables中时:
Sub Test() Dim olApp As Object Set olApp = CreateObject("Outlook.Application") MsgBox olApp.session.currentuser End Sub