logo
search
VBA & Macro Problems

How to Automatically Record the User Who Enters Data in Excel

Maira MehtabMaira Mehtab Sep 28, 2026 869 views

Question details

The user wants to automatically track and log the identity (Windows username) of the person who inputs or modifies data in an Excel worksheet.

Product
Excel
Device & OS
not provided
Scenario
Setting up collaborative data entry where auditing or tracking changes by specific users is required.
Observed behavior
Standard Excel worksheet formulas do not automatically preserve or record the identity of the person who changes a cell.
Before you start

Ensure you save your file as an Excel Macro-Enabled Workbook (.xlsm) and verify that macros are enabled in your Trust Center settings before proceeding with the VBA code.

Solution 1Recommended

Use a Worksheet_Change VBA Event to Record Usernames

Implement a VBA script that triggers automatically when a cell is modified, logging the current Windows username in an adjacent column.

Standard Excel formulas cannot capture system usernames dynamically upon cell edits. Using a Worksheet_Change event in VBA allows you to monitor specific input columns and automatically write the user's name next to the edited data.

1
Open the VBA Editor

In your open Excel workbook, press ALT + F11 to launch the Visual Basic for Applications (VBA) Editor.

2
Access the Worksheet Code Module

In the Project Explorer pane on the left, double-click the specific worksheet (e.g., Sheet1) where you want to track user data entry.

3
Insert the Worksheet_Change Macro

Paste the required VBA code into the module window. Ensure the code uses the 'Worksheet_Change' event to monitor the target input column and uses 'Environ("USERNAME")' to output the Windows username into the adjacent column.

4
Save as a Macro-Enabled Workbook

Click 'File' > 'Save As' and select 'Excel Macro-Enabled Workbook (*.xlsm)' from the file format dropdown menu to ensure your code is preserved.

5
Test the Tracking Script

Return to your worksheet, enter data into the monitored column, and verify that your Windows username automatically appears in the designated adjacent cell.

Testing and Limitations: Test the macro carefully, as bulk edits, pasted ranges, and undo operations can sometimes cause errors or affect the result of a Worksheet_Change event.
WPS Office for VBA Tasks

Easily Manage Macros and Data Tracking with WPS Office

WPS Office fully supports VBA (Visual Basic for Applications), allowing you to run, edit, and create macros just like in Microsoft Excel. You can seamlessly implement user-tracking scripts in WPS Spreadsheet to improve team collaboration and data auditing.

  1. 1. Download and Install WPS Office: Get the latest version of WPS Office from the official website and install it on your computer.
  2. 2. Open Your Workbook: Launch WPS Spreadsheet and open your .xlsm file containing the user-tracking macro.
  3. 3. Access the Developer Tools: Navigate to the 'Developer' tab on the ribbon and click on the 'VBA Editor' icon to view or manage your scripts.
  4. 4. Enable Macros and Run: Ensure macros are enabled within the security prompts so the Worksheet_Change event triggers correctly when data is entered.
Full support for VBA and macros to automate repetitive tasksSeamless compatibility with Microsoft Excel .xlsm and .xlsb formatsLightweight, fast, and completely free to useFamiliar ribbon interface makes finding developer tools incredibly easy
microsoft office alternative - wps office

Frequently Asked Questions

Why isn't the VBA script recording the username when I edit a cell?

Your macros might be disabled. Check your Trust Center or Macro Security settings in Excel to ensure macros are enabled, and verify that the file is saved as a Macro-Enabled Workbook (.xlsm).

Can I track the date and time along with the username?

Yes, you can modify the VBA script to output the 'Now()' function into another adjacent cell within the same Worksheet_Change event, effectively recording both the timestamp and the username.

What happens if I copy and paste multiple cells at once?

Bulk editing or pasting ranges can cause a Type Mismatch error if the VBA script is designed to handle only single-cell changes. To prevent this, the script must be updated with an error handler or a loop (such as 'For Each cell In Target') to process multi-cell updates.

Does this macro method work for shared workbooks on Excel Online?

No, VBA macros do not run in Excel Online or typical co-authoring web environments. This solution requires users to edit the file using the desktop version of Excel or WPS Spreadsheet with macro support enabled.