Table of Content
VBA Code to Get User Domain Name in Excel
VBA Code to Get User Domain Name – Method 1
Sub GetUserDomain_Method1() Dim strUserDomain As String strUserDomain = Environ("USERDOMAIN") Range("A1").Value = strUserDomain MsgBox strUserDomain End Sub
Explanation of the Code
The second line of this code declares a variable called “strUserDomain” as a string.
Dim strUserDomain As String
The third line assigns the value of the user domain name to the variable “strUserDomain” by using the Environ function. The Environ function is a built-in VBA function that retrieves the value of a specified environment variable. In this case, the environment variable that we are retrieving is “USERDOMAIN” which is the domain name assigned to the computer.
strUserDomain = Environ("USERDOMAIN")
We can then use this variable to insert the domain name into an Excel cell or to display it in a message box. The fourth line of code will insert the domain name into cell A1 on the active worksheet.
Range("A1").Value = strUserDomain
The fifth line of code will display the domain name in a message box.
Few Things to Keep in Mind
Keep in mind that this code only works when run on a computer that is connected to a domain. If the computer is not connected to a domain, the “Environ” function may return an empty string. Additionally, this code will only work when run on a Windows operating system.
VBA Code to Get User Domain Name – Method 2
Sub GetUserDomain_Method2() Dim objNetwork As Object Dim strUserDomain As String Set objNetwork = CreateObject("Wscript.Network") strUserDomain = objNetwork.UserDomain Range("A1").Value = strUserDomain MsgBox strUserDomain End Sub
Explanation of the Code
This is a VBA code that retrieves the user’s domain name and displays it in a message box as well as in cell A1 of the active worksheet. Here’s a breakdown of the code:
- The first line “Sub GetUserDomain_Method2()” declares the start of a subroutine (or sub-procedure) called “GetUserDomain_Method2”. Subroutines are used to group together a set of instructions that perform a specific task.
- The next two lines “Dim objNetwork As Object” and “Dim strUserDomain As String” declares two variables named “objNetwork” and “strUserDomain” respectively.
- The next line “Set objNetwork = CreateObject(“Wscript.Network”)” creates an instance of the “Wscript.Network” object and assigns it to the “objNetwork” variable.
- The next line “strUserDomain = objNetwork.UserDomain” assigns the value of the “UserDomain” property of the “objNetwork” object to the “strUserDomain” variable. The “UserDomain” property returns the user’s domain name as a string.
- The next line “Range(“A1″).Value = strUserDomain” assigns the value of the “strUserDomain” variable to cell A1 of the active worksheet.
- The last line “MsgBox strUserDomain” displays the value of the “strUserDomain” variable in a message box.
- The last line of the code is “End Sub” which is used to mark the end of the subroutine.
Steps to use this VBA Code to Get User Domain Name
- To retrieve the domain name using VBA, we will first need to open the Microsoft Excel application and access the VBA editor. This can be done by pressing the “Alt + F11” keys on the keyboard or by clicking on the “Developer” tab in the Excel ribbon and then selecting “Visual Basic.”
- Once the VBA editor is open, we will need to create a new module by clicking on the “Insert” tab and selecting “Module.” This will create a new module where we can enter our VBA code.
- Paste the VBA code in the module like shown below
- Now we need a shape in the Excel sheet which will be used as a button to call this code. For that, add a shape in Excel sheet
- Give a name to the shape like ‘Get User Domain’
- Right click on the shape and select ‘Assign Macro…’
- Select ‘GetUserDomain_Method1’ or ‘GetUserDomain_Method2’ (depends on which works on your system) from the list and click on ‘Ok’ button
- Done, now click on the button. It should insert the user domain name in cell A1 and show a message box with the user domain name
Download Practice File
Both of the codes can be used to retrieve the user’s domain name, but the first one uses the built-in “Environ” function, while the second one uses the “Wscript.Network” object. Both of them can be used in any VBA supported application such as Excel, Word, PowerPoint, etc.