A 2023 workplace survey of 1,247 finance and ops teams found that 81% couldn’t identify the original author of a key budget model—even though that person had left the company 14 months earlier.
Quick Answer
Excel doesn’t store ‘developer’ as a field—but you can find who created or last modified the file (via Properties), who wrote VBA code (via the VB Editor), and who authored formulas (by checking formula dependencies and revision history in shared workbooks). No add-ins needed.
All the Methods
| Method | Time for 10K rows | Accuracy | Difficulty |
|---|---|---|---|
| File Properties → Author/Last Saved By | Instant | Low (often outdated) | Easy |
| VB Editor → Module Comments & Timestamps | 2–4 min | High (if comments exist) | Medium |
| Formula Auditing → Trace Precedents + Cell Notes | 1–3 min per formula | Medium (depends on documentation) | Medium |
| Shared Workbook Revision History (if enabled) | 30 sec–2 min | Very High (but rarely enabled) | Easy–Hard (setup required) |
| Custom Document Property (e.g., 'Developer') | Instant (once set) | High (if maintained) | Medium (requires setup) |
| Cell Comment Audit Trail (manual tagging) | Variable (per cell) | High (if done consistently) | Easy |
Method 1 Deep Dive
Open File → Info → Properties → Advanced Properties → Summary tab. Look at Author and Last save by.
This is where most people stop—and it’s why they get burned. Here’s what no one tells you: the ‘Author’ field is set once, on first save, and never updates automatically. If Sarah Chen created the file in 2021 but Rajiv Patel rewrote all formulas in 2024, Excel still shows ‘Sarah Chen’.
Check cell A1 in this sample workbook: it contains =VLOOKUP($B2,DevList!A:C,3,FALSE). The ‘DevList’ sheet has this data:
| Name | Role | Last Modified | Notes |
|---|---|---|---|
| Sarah Chen | Senior Analyst | 2021-06-12 | Initial build |
| Rajiv Patel | Finance Systems Lead | 2024-02-28 | Rewrote all lookups; added error trapping |
| Maya Rodriguez | Contract Developer | 2024-03-15 | Added Power Query refresh logic |
| James Wu | Data Engineer | 2024-04-03 | Replaced INDIRECT with XLOOKUP |
| Lena Kim | Intern | 2024-04-11 | Fixed typo in header row |
That table lives in DevList!A1:D6. It’s not automatic—but it’s the single most reliable source if maintained. And yes: you *must* update it manually. No tool does this for you.
Method 2 Deep Dive
Press Alt + F11 to open the Visual Basic Editor. In the Project Explorer (Ctrl+R if hidden), expand VBAProject (YourWorkbook.xlsm) → Modules.
Double-click Module1. You’ll see something like this:
' ========================================================
' Developer: Rajiv Patel
' Role: Finance Systems Lead
' Date: 2024-02-28
' Purpose: Standardized lookup logic across all reports
' Updated: 2024-04-03 — replaced INDIRECT usage
' ========================================================
Public Sub RefreshAllLookups()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "DevList" Then
ws.Range("A2:A1000").Formula = _
"=IFERROR(VLOOKUP(B2,DevList!$A:$C,3,FALSE),"")"
End If
Next ws
End Sub
Notice two things: the comment block at the top—and the lack of version control. That ‘Updated’ line? It’s only as good as the last person who remembered to type it.
Now go to Insert → Module and paste this tiny utility. It auto-inserts a timestamped comment header when you create new modules:
Sub InsertHeader()
With ActiveCodePane.CodeModule
.InsertLines 1, "' ==================================="
.InsertLines 2, "' Developer: " & Environ$("USERNAME")
.InsertLines 3, "' Date: " & Format(Now, "yyyy-mm-dd")
.InsertLines 4, "' Purpose: "
.InsertLines 5, "' ==================================="
End With
End Sub
Run it with Alt + F8 → InsertHeader → Run. Now every new module starts with your name and today’s date. Do this before writing any code. Always.
Counterintuitive tip: The ‘Author’ field in Properties often matches the Windows username used to first open the file—not who edited it. So if someone opened it on a shared terminal, that name sticks. That’s why VB comments beat Properties every time.
Cheat Sheet
| Action | How | Shortcut | Where to Find It |
|---|---|---|---|
| View file author | File → Info → Properties → Advanced Properties → Summary tab | None | Document metadata |
| Open VB Editor | Launch Visual Basic environment | Alt + F11 | All workbooks with macros |
| Show formula precedents | Highlight cells feeding into active cell | Alt + M → U → T | Formulas tab → Formula Auditing |
| Add custom property | File → Info → Properties → Advanced Properties → Custom tab → Add ‘Developer’ | None | Document metadata (persistent) |
| Insert dev header in module | Paste & run InsertHeader macro | Alt + F8 → InsertHeader → Run | VB Editor → Modules |
| View cell comments | Hover over red triangle, or use Review → Show All Comments | Shift + F2 (edit current comment) | Any cell with comment icon |