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 27, 2015)

3

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

Printing Web Discussions

If you are using the Web discussions feature built into some versions of Excel, you may want to print out a discussion at ...

Discover More

Calculating Future Workdays

Need to calculate the date that is a certain number of workdays in the future? You can do so using a couple of different ...

Discover More

When is Currency Not Currency?

One of the tools available for formatting cells is one called "Currency." This can be misleading, as it doesn't really apply ...

Discover More

The First and Last Word on Word! Bestselling For Dummies author Dan Gookin puts his usual fun and friendly candor back to work to show you how to navigate Word 2013. Spend more time working and less time trying to figure it all out! Check out Word 2013 For Dummies today!

MORE WORDTIPS (RIBBON)

Using Multiple References to a Single Comment

Find yourself repeating the same comment over and over? Here's a couple of ways you can save some typing by simply referring ...

Discover More

Pasting a Comment into Your Document

When developing a document, you may end up with all sorts of comments that you need to deal with. One common task is to copy ...

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 for this tip:

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. 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 eight more than 7?

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 !


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.

Links and Sharing
Share