Combining Footnotes

by Allen Wyatt
(last updated June 6, 2020)

1

Daniel has an academic paper that uses many footnotes. Right now, he has footnotes at the end of each sentence. He would like to combine all of the footnotes within a paragraph into a single footnote at the end of the paragraph. He wonders if there is a way to do this automatically.

There is no way to do this automatically, but you can do it with a macro. All the macro needs to do is to step through each paragraph in the document and see if it has any footnotes. Then, assuming it does, it concatenates those, deletes the footnotes, and adds a new footnote with the concatenated text at the end of the paragraph. Here's a macro that does just that:

Sub MoveFootnotes()
    Dim p As Paragraph
    Dim iFN As Integer
    Dim J As Integer
    Dim oCurPar As Object
    Dim sTemp As String

    For Each p In ActiveDocument.Paragraphs
        sTemp = ""
        iFN = p.Range.Footnotes.Count
        For J = iFN To 1 Step -1
            sTemp = p.Range.Footnotes(J).Range.Text & " " & sTemp
            p.Range.Footnotes(J).Delete
        Next J
        sTemp = Trim(sTemp)
        If sTemp > "" Then
            Set oCurPar = p.Range
            oCurPar.Collapse Direction:=wdCollapseEnd
            oCurPar.MoveEnd Unit:=wdCharacter, Count:=-1
            ActiveDocument.Footnotes.Add Range:=oCurPar, Text:=sTemp
        End If
    Next p
End Sub

Note that the macro concatenates the footnote text for each paragraph into the sTemp string. This is then used when adding the footnote to the end of the paragraph. This does present a drawback to the macro—it copies only text, not any formatting for the text.

For instance, if you have a bunch of footnotes that include citations to books, chances are good that those book titles are formatted in italic. After running the macro, the italic will be gone, though all the text is there. (There is no way that I'm aware of to transfer the formatting, intact, into the new footnote.)

Note:

If you would like to know how to use the macros described on this page (or on any other page on the WordTips sites), I've prepared a special page that includes helpful information. Click here to open that special page in a new browser tab.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (13767) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, and Word in Office 365.

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

Page Numbers are Zeros

If you have a document where the page numbers are always zero, you may be rightly wondering what is happening. This tip ...

Discover More

Determining the Number of Fonts Available

When creating a macro, you may need to figure out how many fonts are available to Word. You can do this using the ...

Discover More

Macro Runs Slowly, but Steps Quickly

When you have a macro that processes a huge amount of data, it can seem like it takes forever to finish up. These ...

Discover More

Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!

More WordTips (ribbon)

Changing the Footnote Separator

When you print a document that uses footnotes, Word normally places a small line between the end of the document body ...

Discover More

Moving Footnote Text into the Document

Need to move the contents of a footnote up into the main body of your document? You can use normal editing techniques to ...

Discover More

Copying and Moving Footnotes

Want to get your footnotes from one place to another in a document, or even from one document to another document? It's ...

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 6Mpixels. 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 six more than 2?

2020-06-08 13:24:29

Andrew

Here's the way I would do it, using the Clipboard to retain the formatting of each footnote's text, and permitting a specified separator text to be inserted between the original footnotes' text and a prefix to each footnote.

Sub CombineParagraphFootnotes()
Const Prefix As String = "Fn: " ' Set to "" to not have a prefix,
Const Separator As String = " " ' Set to "" to not have a separator.
Dim P As Paragraph
Dim CurNo As Integer
Dim AggregatedFootnote As Footnote

For Each P In ActiveDocument.Paragraphs
If P.Range.Footnotes.Count > 0 Then
' Add a new footnote to the end of the paragraph.
Set AggregatedFootnote = ActiveDocument.Footnotes.Add(Range:=P.Range) ' Here, "Range" parameter is the *paragraph's text*
' Loop backwards through the paragraphs footnotes, except the newly created last one
For CurNo = P.Range.Footnotes.Count - 1 To 1 Step -1
' Move the Footnote's formatted text to the beginning of the new footnote via Clipboard
AggregatedFootnote.Range.Select
Selection.Collapse Direction:=wdCollapseStart
P.Range.Footnotes(CurNo).Range.Cut
Selection.Paste
' Add Separator and Prefix.
AggregatedFootnote.Range.Select
Selection.Collapse Direction:=wdCollapseStart
If CurNo <> 1 Then Selection.InsertAfter Separator ' No Separator for first footnote (= last iteration).

Selection.InsertAfter Prefix
P.Range.Footnotes(CurNo).Delete
Next CurNo
End If
Next P
End Sub


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.