How to Select Cells With Comments in Excel
Learn multiple Excel methods to select cells with comments with step-by-step examples and practical applications.
How to Select Cells With Comments in Excel
Why This Task Matters in Excel
Spreadsheets often serve as collaborative canvases where dozens of reviewers leave feedback, clarifications, or audit notes directly in the grid. Instead of maintaining separate email threads, many teams rely on Excel comments (called Notes in newer builds) to annotate data points, flag issues, or ask questions that must be resolved before the file is finalized. Being able to instantly gather every cell that contains a comment is therefore crucial for several reasons.
First, it shrinks review cycles. Imagine a finance manager receiving a budget workbook with hundreds of rows across multiple worksheets. Rather than manually hunting for the tiny purple triangle that marks a comment, a single command that highlights all commented cells allows the manager to jump from one note to the next, address each, and clear comments systematically. This capability accelerates month-end close, annual budget consolidation, and any process where annotated approval is mandatory.
Second, it supports error-proof auditing. External auditors, data-quality analysts, or compliance officers frequently ask for a record of all commentary embedded in a financial model to understand why certain assumptions were chosen. Selecting the commented cells in bulk lets them quickly export, print, or screenshot the context, ensuring that critical decisions are transparent. For regulated industries such as pharmaceuticals, banking, and energy, being able to prove that you examined every reviewer note is not optional but a legal requirement.
Third, it improves data stewardship when workbooks grow in complexity. Over time, many spreadsheets evolve into data monsters with thousands of calculated cells. Comments left early in the project may be forgotten, leading to hidden risks. A quick sweep of all commented cells keeps legacy notes from falling through the cracks when the file is handed to a new owner. Teams in project management, engineering design, academic research, marketing, and HR can all benefit from this discipline.
Excel shines at this task because it offers both a no-code, point-and-click method and programmable approaches via VBA or Office Scripts. The built-in “Go To Special” dialog remains the fastest solution for ad-hoc selection, but power users can automate repetitive reporting across multiple sheets with a macro. Ignoring this capability means you might overlook unresolved questions, approve inaccurate data, or waste hours scrolling; mastering it, meanwhile, ties directly into broader skills such as data review workflows, conditional formatting, and documentation hygiene.
Best Excel Approach
The most efficient native feature for selecting cells with comments is the Go To Special → Comments/Notes command. It works on any version of Excel for Windows, Mac, or web (though labels differ slightly between legacy Comments and modern Threaded Comments). This dialog instantly scans the current selection—whether that is a single worksheet, an entire workbook, or a defined range—and returns a multiple-cell selection containing only the cells that hold comments.
Why is this better than alternatives?
- No formulas or helper columns required.
- One-click access with a universal keyboard shortcut (Ctrl + G, then Alt + S).
- Works even if comments are hidden, shapes are locked, or sheet protection is active (as long as the range is selectable).
- Respects existing selections, letting you limit the search to a specific data block rather than the whole sheet.
Use this approach whenever you need a quick, manual review or plan to perform a one-off action such as formatting, clearing, or copying the commented cells.
Dialog route
There is no formula syntax because Go To Special is a UI command, but you can record a macro and reuse it:
Sub Select_Comments()
Cells.SpecialCells(xlCellTypeComments).Select
End Sub
If you only want modern threaded comments, adjust to xlCellTypeNotes for the older note style or filter dynamically (discussed later).
Parameters and Inputs
Although Go To Special has no function arguments, certain “inputs” determine what Excel actually selects:
- Current selection — If nothing is highlighted, Excel assumes the entire worksheet. To confine the scan, pre-select a specific region such as [A2:F1000] or even discontiguous ranges.
- Comment type — Excel 365 distinguishes between “Notes” (legacy comments) and “Comments” (modern threaded). In Go To Special, you see “Notes” and “Comments” as separate check boxes. Older versions only have “Comments,” which refers to legacy notes.
- Worksheet vs workbook — Running the command on each sheet individually versus all sheets at once changes scope. A macro can loop over every sheet; the manual dialog cannot.
- Protection status — If a worksheet is protected with “Select locked cells” disabled, the command will fail silently on locked ranges. Unlock or temporarily allow selection.
- Filtered lists and hidden rows — Go To Special ignores filter visibility; it selects hidden rows if the cell underneath contains a comment. You may need to clear filters first if you only want visible rows.
Edge cases include merged cells (the entire merged area counts as one) and chart sheets (comments on charts are not included).
Step-by-Step Examples
Example 1: Basic Scenario — Reviewing a Sales Forecast
Suppose you have a sheet named “Forecast” containing monthly sales in [A1:B13]. Several reviewers left comments questioning particular numbers. You want to review only those cells.
- Click any single cell to clear previous multiple selections.
- Press Ctrl + G to open the “Go To” dialog.
- Click Special… (or press Alt + S).
- Choose Notes (Excel 365) or Comments (Excel 2016 and earlier).
- Click OK. Excel now highlights the commented cells, for example B5, B9, and B12.
- With all cells still selected, press Tab repeatedly to cycle through comments, reading each in the Formula Bar or in the pop-up window.
- Optionally, right-click → Delete Note once you address feedback.
Why this works: Go To Special builds an internal collection of cell objects where the .Comment (or .Note) property is not null. The selection behaves like any normal multi-cell selection, so you can format, clear, or copy those cells as a block.
Troubleshooting: If nothing is selected, double-check that comment indicators are visible (File → Options → Advanced → “Indicators only” or “Comments and indicators”). Hidden indicators still qualify, but seeing them helps confirm they exist.
Variations: First filter the table to a specific product line, then run Go To Special on the visible subset. Only comment-bearing cells inside the filtered rows will be selected, though hidden rows with comments remain in memory.
Example 2: Real-World Application — Quality Assurance Audit Workbook
In a manufacturing dashboard, each worksheet represents one factory line with output statistics. Auditors leave threaded comments asking for supporting documents. You must compile all outstanding queries across the entire workbook into a separate list.
Steps:
- Save a backup (QA_Audit_v1.xlsx).
- Open the Visual Basic Editor (Alt + F11) and insert a new module.
- Paste the macro below:
Sub CollectAllThreadedComments()
Dim ws As Worksheet, rng As Range, dest As Range
Dim nextRow As Long, c As CommentThreaded
Worksheets.Add(after:=Sheets(Sheets.Count)).Name = "Comment Export"
Set dest = Worksheets("Comment Export").Range("A1")
dest.Resize(1,4).Value = ["Sheet","Address","Comment","Author"]
nextRow = 2
For Each ws In ThisWorkbook.Worksheets
On Error Resume Next
Set rng = ws.UsedRange.SpecialCells(xlCellTypeCommentsThreaded)
On Error GoTo 0
If Not rng Is Nothing Then
For Each c In rng.CommentThreaded
dest.Cells(nextRow,1).Value = ws.Name
dest.Cells(nextRow,2).Value = c.Parent.Address(False,False)
dest.Cells(nextRow,3).Value = c.Text
dest.Cells(nextRow,4).Value = c.Author.Name
nextRow = nextRow + 1
Next c
End If
Set rng = Nothing
Next ws
End Sub
- Run
CollectAllThreadedComments. A new sheet “Comment Export” lists every comment with its sheet name, cell address, full text, and author. - Filter the list to show only unresolved items (perhaps those missing “Resolved” in the text).
- Send the exported table to stakeholders for action.
Business context: Compliance requires each audit comment to be closed within 10 days. Manually scanning fifteen worksheets daily would take hours. Automating the extraction and selection of commented cells makes the process repeatable and auditable.
Performance: The macro loops through UsedRange, which is significantly faster than scanning each cell individually. On a workbook with 100k cells, the script completes in under two seconds.
Example 3: Advanced Technique — Conditional Formatting Driven by Comments
Scenario: A project planner wants any row that contains at least one commented cell to glow red so that team members focus on rows needing attention.
- Select the entire data table [A2:K2000].
- On the Home tab, choose Conditional Formatting → New Rule → Use a formula to determine which cells to format.
- Enter this array-enabled formula (confirm with Ctrl + Shift + Enter in legacy Excel):
=SUM(--(NOT(ISBLANK(A2:K2)))*
--(NOT(ISERROR(GET.CELL(50,INDIRECT("RC",FALSE))))) )>0
- Set the fill color to light red and click OK.
- Every row containing a comment turns red, even if the comment is hidden.
How it works: The hidden GET.CELL macro-sheet function returns 50 when a cell contains a comment. Wrapping it in ISERROR ignores normal cells. The row-wise SUM tallies commented cells, and the conditional formatting formula tests if the count is greater than 0.
Edge cases: GET.CELL is volatile and may slow large sheets. It also requires the workbook to be saved as XLSM. Use this method when visual flagging is more important than selection alone.
Tips and Best Practices
- Use keyboard shortcuts: Ctrl + Shift + O (letter O) selects cells with comments in some versions. Test first; if your build reserves the shortcut for another action, stick with Ctrl + G → Special.
- Scope your selection: Pre-select a data block (e.g., a filtered table column) before opening Go To Special to avoid drowning in irrelevant comments outside the area of interest.
- Pair with the Resolve feature (for modern threaded comments) to mark items complete. Resolve automatically hides comments, making the next Go To Special run show only outstanding notes.
- Document macros: If you automate comment selection, add descriptive headers to your VBA and store copies in a central code repository so colleagues can reuse them.
- Combine with printing: After selecting commented cells, choose File → Print → Print Selection to generate a condensed PDF that only shows annotated rows, ideal for meeting agendas.
- Refresh GET.CELL-based conditional formats by forcing calculation (F9) before sharing, ensuring that recently added comments trigger the correct formatting.
Common Mistakes to Avoid
- Assuming comments and notes are identical. In Microsoft 365, Go To Special distinguishes between them. Selecting “Notes” will not pick up threaded comments, leading to missed feedback. Verify the dialogue wording.
- Running Go To Special while a filter hides rows and expecting only visible comments. The command ignores filter states; you must clear filters or combine with VBA to respect visibility.
- Forgetting sheet protection. Protected sheets that disallow selecting locked cells prevent Go To Special from highlighting them, fooling you into thinking no comments exist. Temporarily enable “Select locked cells” or unprotect.
- Relying on manual scanning. Skipping the selection feature forces eyeballing every triangle indicator, which is error-prone and time-consuming. Adopt a systematic approach early.
- Merged cells havoc. Comments attached to a merged block may appear at odd positions; after selection, unmerge first if you need to delete or relocate the comment.
Alternative Methods
| Method | How it Works | Pros | Cons | Best For |
|---|---|---|---|---|
| Go To Special (UI) | Dialog-driven selection of Notes/Comments | Fast, no code, universally available | Manual, single worksheet at a time | One-off reviews |
VBA SpecialCells | Cells.SpecialCells(xlCellTypeComments) | Automatable, loops across sheets | Requires macro security, not for web Excel | Monthly audits, bulk exports |
| Office Scripts (Excel on web) | JavaScript-like script selects comments via worksheet.comments | Works in browser, cloud automation | Feature still evolving, admin permission needed | Teams using SharePoint/OneDrive |
| Conditional Formatting + GET.CELL | Visual highlight of rows with comments | Dynamic, no manual selection needed | Volatile, xlsm only, legacy macro function | Dashboards where color flags suffice |
| Third-party add-ins | Dedicated review panels, comment reports | Rich UI, export options | Cost, install restrictions | Enterprises needing advanced comment workflows |
Choose Go To Special for speed, VBA or Office Scripts for scale, conditional formatting for visual management, and add-ins for enterprise reports.
FAQ
When should I use this approach?
Use Go To Special whenever you need to quickly locate or modify all commented cells in a selected range or sheet without writing code. It is ideal during interactive review sessions, last-minute sanity checks, or before finalizing a report for distribution.
Can this work across multiple sheets?
The manual dialog cannot select across sheets simultaneously. To collect comments workbook-wide, run a VBA macro that loops through each worksheet or use Office Scripts in Excel on the web. Both can accumulate commented cells into a single range or export table.
What are the limitations?
Go To Special cannot differentiate between resolved and unresolved threaded comments, ignores filtering, and fails on protected locked ranges. It also does not include comments linked to chart objects. Workarounds include toggling protection, recording macros that respect filters, or using specialized add-ins.
How do I handle errors?
If Excel reports “No cells were found,” verify that comments exist, ensure you chose the correct comment type, and check protection settings. In VBA, wrap SpecialCells in On Error Resume Next to bypass sheets with no comments, then test if the returned range is Nothing.
Does this work in older Excel versions?
Yes, Excel 2007-2019 support the original Comments object. The terminology changed in 2019/365, but xlCellTypeComments still maps to notes. Threaded comments are available only in Office 365 and later, so macros targeting xlCellTypeCommentsThreaded require modern builds.
What about performance with large datasets?
Go To Special executes almost instantly because Excel stores a comment flag with each cell. Macros scanning UsedRange.SpecialCells are efficient; avoid looping cell-by-cell. For conditional formatting with GET.CELL, limit the applied range and force recalculation sparingly to minimize volatility overhead.
Conclusion
Knowing how to select cells with comments transforms a tedious search operation into a one-second task. Whether you use Go To Special for ad-hoc reviews, automate exports with VBA, or flag rows with conditional formatting, mastering this technique boosts your efficiency, elevates collaboration, and safeguards data accuracy. Incorporate it into your standard spreadsheet hygiene, and you will navigate audits, approvals, and team feedback with confidence. Next, explore linking comment resolution to task trackers or integrating Office Scripts for cloud-based review workflows—the possibilities build on the foundation you now command.
Related Articles
How to Show the 10 Most Common Text Values in Excel
Learn multiple Excel methods to list the 10 most frequent text values—complete with step-by-step examples, business use cases, and expert tips.
How to Abbreviate Names Or Words in Excel
Learn multiple Excel methods to abbreviate names or words with step-by-step examples and practical applications.
How to Abbreviate State Names in Excel
Learn multiple Excel methods to abbreviate state names with step-by-step examples, professional tips, and real-world applications.