Please Note: This article is written for users of the following Microsoft Word versions: 2007 and 2010. If you are using an earlier version (Word 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Word, click here: Sorting Comments by Date.

Sorting Comments by Date

by Allen Wyatt
(last updated July 28, 2017)

4

Hamed has a document that has many different comments inserted throughout it. He would like to sort the comments by date so that he can get a view of how they were added to the document. He wonders if there is a way to do this.

There is no way to sort comments by date within a document. There are a couple of ways you can work around this, however, to get to what you want. The first way is to simply print the comments in the document. How you do this has been covered in other issues of WordTips. When you print the comments, they appear in the printout—automatically—in chronological order.

If you need more than a printout, however, you could also use a macro to extract all the comments and place them in a new document. The comments could be placed in the document in any order you desire, even chronologically. The following is an example of such a macro. It pulls the comments from your original document and places them in a table in a new document. The table is then sorted by date.

Sub ExtractComments()
    Dim oThisDoc As Document
    Dim oThatDoc As Document
    Dim oTable As Table
    Dim nCount As Long
    Dim n As Long

    On Error GoTo ExitHere

    Set oThisDoc = ActiveDocument

    ' get comment count
    nCount = ActiveDocument.Comments.Count

    ' Exit if there are no comments
    If nCount = 0 Then
        MsgBox "No comments in document"
        GoTo ExitHere
    End If

    Application.ScreenUpdating = False

    'Create a new document for the comments
    Set oThatDoc = Documents.Add

    'Set to landscape
    oThatDoc.PageSetup.Orientation = wdOrientLandscape

    'Insert a 5-column table for the comments
    Set oTable = oThatDoc.Tables.Add _
      (Range:=Selection.Range, _
      NumRows:=nCount + 1, NumColumns:=5)

    'Format the table appropriately
    With oTable
        .Range.Style = wdStyleNormal
        .AllowAutoFit = False
        .PreferredWidthType = wdPreferredWidthPercent
        .PreferredWidth = 110
        .Columns(1).PreferredWidth = 15
        .Columns(2).PreferredWidth = 5
        .Columns(3).PreferredWidth = 35
        .Columns(4).PreferredWidth = 35
        .Columns(5).PreferredWidth = 20
        .Rows(1).HeadingFormat = True
    End With

    'Insert table headings
    With oTable.Rows(1)
        .Range.Font.Bold = True
        .Cells(1).Range.Text = "Date"
        .Cells(2).Range.Text = "Page"
        .Cells(3).Range.Text = "Comment Scope"
        .Cells(4).Range.Text = "Comment"
        .Cells(5).Range.Text = "Author"
    End With

    'Get info from each comment from oThisDoc and insert in table
    For n = 1 To nCount
        With oTable.Rows(n + 1)
            .Cells(1).Range.Text = Format(oThisDoc.Comments(n).Date, _
              "m/d/yy h:m am/pm")
            .Cells(2).Range.Text = oThisDoc.Comments(n).Scope _
              .Information(wdActiveEndPageNumber)
            .Cells(3).Range.Text = oThisDoc.Comments(n).Scope
            .Cells(4).Range.Text = oThisDoc.Comments(n).Range.Text
            .Cells(5).Range.Text = oThisDoc.Comments(n).Author
        End With
    Next n

    ' Sort the table by date ascending
    oThatDoc.Tables(1).Select
    Selection.Sort ExcludeHeader:=True, FieldNumber:="Column 1", _
      SortFieldType:=wdSortFieldDate, SortOrder:=wdSortOrderAscending
    Selection.Collapse

    Application.ScreenUpdating = True
    Application.ScreenRefresh

    oThatDoc.Activate

ExitHere:
    Set oThisDoc = Nothing
    Set oThatDoc = Nothing
    Set oTable = Nothing
    On Error GoTo 0
End Sub

The above macro is a simplified and adapted version of a more complete macro written by Lene Fredborg, which can be found here:

http://www.thedoctools.com/index.php?show=mt_comments_extract

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (11218) applies to Microsoft Word 2007 and 2010. You can find a version of this tip for the older menu interface of Word here: Sorting Comments by Date.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Turning Off Screen Updating

When working with macros, you can often speed up processing by turning off the updating of the screen. Best news is that it ...

Discover More

Changing Measurement Units

When working in Word's dialog boxes, most people understand that you should enter measurements using inches. If you don't ...

Discover More

Non-Tiled Background Pictures

Background images for a worksheet are automatically repeated over and over (tiled) by Excel. This tip describes a workaround ...

Discover More

Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!

More WordTips (ribbon)

Getting Rid of "Comment" in Comments

When you add a comment to a document, Word presents that comment in a very specific way. If you want to change the way in ...

Discover More

Viewing Comments From a Specific Reviewer

If you have multiple editors (or authors) working on the same document, and each of them is adding comments, you may want to ...

Discover More

Printing Comments

Comments are a great way to share, well, comments with other people looking through your documents. If you want to print just ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 8Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is 5 + 0?

2017-08-08 11:55:36

Wordnerd

This is great! Thank you so much!


2015-06-13 12:12:44

richard tessier

There is another way to separate comments from the body of the text. To do this, simply convert your word document to a text file; in the text file, all the comments will be at the end, in the order they were in the document. Then simply reconvert your text file into a Word document.


2015-06-05 07:14:21

Sarah

Thank-you, just coded transcripts and wanted to sort them and this worked. I'm a macro movie too :)


2012-01-22 04:05:39

Steven Edell

This is great! Thanks!!

I would like to have the same exact macro but to sort revision marks.

From what I think I understand, this phrase needs the correct function:

nCount = ActiveDocument.Comments.Count

As well as all occurrences of

oThisDoc.Comments(n)

Can someone tell me what needs to be substituted (and if I missed anything - I know to change the comments)?

Thank you, and thanks to Allen !


This Site

Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.