Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in
x
or
x
x
Register
x

or

How to find and replace text within comments in Excel?

As we know, there is a Find and Replace function in excel, and with this function, we can find and replace the content in cells quickly. But can we find and replace contents in comments in Excel?

Using VBA code to find and replace text within comments

To find and replace text within comments quickly and easily

Excel Productivity Tools

Office Tab: Bring powerful tabs to Office (include Excel), just like Chrome, Safari, Firefox and Internet Explorer. Save you half the time, and reduce thousands of mouse clicks for you. 30-day Unlimited Free Trial

Kutools for Excel: Save 70% of your time and solve 80% Excel problems for you. 300+ advanced features designed for 1500+ work scenario, make Excel much easy and increase productivity immediately. 60-day Unlimited Free Trial


arrow blue right bubble Using VBA code to find and replace text within comments


In Excel, it seems there is no other way to solve this problem except using VBA code, you can use the following VBA code to find and replace text in all comments. For example, I will replace 2011 with 2012 in all comments in Excel.

1. Click Developer >Visual Basic, a new Microsoft Visual Basic for applications window will be displayed, click Insert > Module and then input the following VBA code in the Module:

VBA: find and replace text in all comments in Excel.

Sub ReplaceComments()
Dim cmt As Comment
Dim wks As Worksheet
Dim sFind As String
Dim sReplace As String
Dim sCmt As String
sFind = "2011"
sReplace = "2012"
For Each wks In ActiveWorkbook.Worksheets
For Each cmt In wks.Comments
sCmt = cmt.Text
If InStr(sCmt, sFind) <> 0 Then
sCmt = Application.WorksheetFunction. _
Substitute(sCmt, sFind, sReplace)
cmt.Text Text:=sCmt
End If
Next
Next
Set wks = Nothing
Set cmt = Nothing
End Sub

Note: In the above code, you can set the sFind and sReplace variables for what you are searching for and what you want to replace with.

2. Then click dpc-replace-comment-1 button to run the code, and all 2011 in all comments will be replaced with 2012 in the whole workbook.


arrow blue right bubble A handy tool tTo find and replace text within comments quickly and easily

We can quickly find and replace text in all comments with Kutools for Excel’s Cell Comment Tools.

Kutools for Excel: with more than 300 handy Excel add-ins, free to try with no limitation in 30 days. Get it Now

If you have installed Kutools for Excel, you could easily find and replace the text in all comments in Excel.

1. Click Kutools > More > Cell Comment Tools. See screenshot:

doc-replace-comment-2

2. In the Cell Comment Tools dialog box:

  • (1.) Click Find/Replace tab;
  • (2.) Select the scope that you want to apply this utility, you can select Active sheet or All sheets;
  • (3.) Enter the text (2011) that you want to replace into the Find text in comments box, and input the specific text (2012) that you want to use in the Replace with box.

doc-replace-comment-3

3. And then click Replace button. All of 2011 will be replaced with 2012 within the comments in active worksheet. See screenshots:

doc-replace-comment-4 -2 doc-replace-comment-5

Note: If you checked Show summary, there will be a prompt box to remind you how many cell comments have been changed.

For more detailed information about Cell Comment Tools, please visit Cell Comment Tools feature description.


Related articles:


Excel Productivity Tools

Ribbon of Excel (with Kutools for Excel installed)

300+ Advanced Features Increase Your Productivity by 70%, and Help You To Stand Out From Crowd

Would you like to complete your daily work quickly and perfectly? Kutools for Excel brings 300+ cool and powerful advanced features (Combine workbooks, sum by color, split cell contents, convert date, and so on...) for you.

  • Designed for 1500+ work scenarios, helps you solve 80% Excel problems.
  • Save a lot of work time, leave much time for you to love and care the family and enjoy a comfortable life now.
  • Reduce thousands of keyboard and mouse clicks every day, relieve your tired eyes and hands.
  • Become an Excel expert in 3 minutes. No longer need to remember any painful formulas and VBA codes.
  • 60-day unlimited free trial. 60-day money back guarantee. Free upgrade and support for 2 years. Buy once, use forever.
  • Being used by 110,000 elites and 300+ well-known companies.

Office Tab Brings Efficient And Handy Tabs to Office (include Excel), Just Like Chrome, Firefox, And New IE

  • Increases your productivity by 50% when viewing and editing multiple documents.
  • Reduce hundreds of mouse clicks for you every day, say goodbye to mouse hand.
  • Open and create documents in new tabs of same window, rather than in new windows.
  • One second to switch between dozens of open documents!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jack · 3 months ago
    This is really amazing. Great information about blog. https://www.kodi.link/
  • To post as a guest, your comment is unpublished.
    Nick Seigal · 4 years ago
    The above code turns the whole comment to bold. Normally only the title is bold in an Excel comment by default. The below code fixes the problem.

    Sub ReplaceComments()
    Dim cmt As Comment
    Dim wks As Worksheet
    Dim sFind As String
    Dim sReplace As String
    Dim lTitleLength As Long
    Dim sCmt As String

    sFind = "2011"
    sReplace = "2014"

    For Each wks In ActiveWorkbook.Worksheets
    For Each cmt In wks.Comments
    sCmt = cmt.Text
    If InStr(sCmt, sFind) 0 Then
    sCmt = Application.WorksheetFunction. _
    Substitute(sCmt, sFind, sReplace)
    cmt.Text Text:=sCmt
    End If
    lTitleLength = InStr(cmt.Text, ":")
    With cmt.Shape.TextFrame
    .Characters(1, lTitleLength).Font.Bold = True
    .Characters(lTitleLength + 1, Len(cmt.Text)).Font.Bold = False
    End With
    Next
    Next
    Set wks = Nothing
    Set cmt = Nothing
    End Sub