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

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

Sorting Dates and Times

One of the strong features of Excel is its ability to sort information in a worksheet. When it doesn't sort information as ...

Discover More

Capitalizing after a Sentence Ending with a Number

Word tries its best to be helpful and correct what it thinks is wrong with your typing. One such correction is to capitalize ...

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)

Inserting Initials and Date in a Comment

When you insert a comment into a document, Word keeps track of who entered it and the date when it was entered. Here's how to ...

Discover More

Comments in Text Boxes

If you use text boxes in your documents, you may sometime want to place a comment in the text box, the same as you can do ...

Discover More

Changing the User Name in Existing Comments

Want to change the name that Word associates with various comments previously added to your document? Here are some ideas you ...

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. 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 9 + 4?

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.