如何在单元格中显示当前用户名?

时间:2011-08-03 22:41:13

标签: excel vba excel-2003 worksheet-function

在我发现的大多数在线资源中,通常都会告诉我如何在VBA中检索这些信息。有没有直接的方法在单元格中获取此信息?

例如,简单到=ENVIRON('User')(不起作用)

6 个答案:

答案 0 :(得分:35)

根据以下链接中的说明,执行以下操作。

在VBA中插入一个新模块并粘贴此代码:

Public Function UserName()
    UserName = Environ$("UserName")
End Function

使用以下公式调用该函数:

=Username()

根据以下说明进行操作:

https://support.office.com/en-us/article/Create-Custom-Functions-in-Excel-2007-2f06c10b-3622-40d6-a1b2-b6748ae8231f

答案 1 :(得分:5)

如果您不想在 VBA 中创建 UDF ,或者您无法做到,那么这可能是另一种选择。

=Cell("Filename",A1)这将为您提供完整的文件名,从中您可以得到如下所示的用户名:

=Mid(A1,Find("\",A1,4)+1;Find("\";A1;Find("\";A1;4))-2)

此公式仅从之前保存的工作簿中运行。

由于驱动器中的第一个斜杠,您必须从第4个位置开始。

答案 2 :(得分:3)

示例:要查看Cell C5上的Windows用户名,您可以使用以下脚本:

Range("C5").Value = ": " & Environ("USERNAME").

答案 3 :(得分:2)

最简单的方法是创建一个包装该函数的VBA宏,如下所示:

Function UserNameWindows() As String
    UserName = Environ("USERNAME")
End Function

然后从单元格中调用它:

=UserNameWindows()

有关详细信息和其他方式,请参阅this article

答案 4 :(得分:1)

显示当前用户的名称:

Function Username() As String
    Username = Application.Username
End Function

属性Application.Username包含通过安装MS Office输入的名称。

在单元格中输入此公式:

=Username()

答案 5 :(得分:1)

没有VBA宏,您可以使用此提示从路径获取用户名:

=MID(INFO("DIRECTORY"),10,LEN(INFO("DIRECTORY"))-LEN(MID(INFO("DIRECTORY"),FIND("\",INFO("DIRECTORY"),10),1000))-LEN("C:\Users\"))