Written by Allen Wyatt (last updated September 19, 2020)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and 2021
Walter has a macro that he would like to run on different computers. The macro accesses a file whose name is the same on the different computers but the path to that file may be different. He wonders how he can, within the macro, identify the computer where the macro is running as well as the user running the macro so that the running macro can select the correct path to the file.
Perhaps the easiest way to discover this information is to use the Environ function, in VBA, to return environmental information from the operating system. Consider, for example, the following two lines:
sComputer = Environ("ComputerName") sUser = Environ("UserName")
After running these two code lines, sComputer will contain the name of the computer system (as defined within Windows) and sUser the name of the user logged into the system. Both returned values are strings. With the information in hand, you could compare what is returned in order to set other variables based on the results.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (13227) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and 2021.
Excel Smarts for Beginners! Featuring the friendly and trusted For Dummies style, this popular guide shows beginners how to get up and running with Excel while also helping more experienced users get comfortable with the newest features. Check out Excel 2019 For Dummies today!
You can easily use formulas to pull apart text stored in a cell. For instance, if you need to pull individual characters ...
Discover MoreAs your macro processes information in a worksheet, you may want to make sure that it skips over rows that are hidden. ...
Discover MoreMany times you need to select just the visible cells before taking some action. It is helpful to know how to make this ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2022-12-08 10:43:27
J. Woolley
My Excel Toolbox's NameOf function can return the value of an environment variable. Here are three example cell formulas:
=NameOf("ComputerName")
=NameOf("UserName")
=NameOf("UserProfile")
The following cell formula returns Excel's Application.UserName:
=NameOf("User")
NameOf is described in the following two articles:
https://excelribbon.tips.net/T007850#comment-form-hd (2022-04-06)
https://wellsr.com/vba/2019/excel/vba-udf-to-enhance-excel-cell-and-info-functions/
See https://sites.google.com/view/MyExcelToolbox
2022-12-07 15:59:27
J. Woolley
My Excel Toolbox includes the following dynamic array functions related to Windows environment variables:
=ListEnvironVariables([SkipHeader]) -- returns all environment variables and their values in 2 columns and N rows including header row (optional).
=ListEnvironPath() -- returns items extracted from environment variable PATH in 1 row and N columns.
=ListEnvironPathExt() -- returns items extracted from environment variable PATHEXT in 1 row and N columns.
My Excel Toolbox's SpillArray function simulates a dynamic array in older versions of Excel:
=SpillArray(ListEnviron...())
See https://sites.google.com/view/MyExcelToolbox
2020-09-21 07:22:43
Alex B
If the path is going to be different for each user I would probably start with Environ(“UserProfile”)
Returns something along the lines of C:\Users
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments