Written by Allen Wyatt (last updated August 3, 2024)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, Word in Microsoft 365, and 2021
Dawn would like the footer on each page in her document to contain the first two words that appear on the following page in the document. If the pagination changes, then of course the footer should update to reflect whatever two words are then at the top of the following page.
This is a tough problem for several reasons. Word allows you to rather easily create "dictionary style" headers or footers, using the STYLEREF field. However, that field always refers to the first or last usage of a style on the page where the STYLEREF field appears. In Dawn's case, she wants words from the next page, not the current page.
The biggest problem, though, is the desire for the footer to update, dynamically, as editing occurs in the document. We've not been able to find a way to do this with the tools that Word provides. You can, if desired, create a macro that sets the footers, but there is a catch—because each page will have a different footer, you'll need to add a section break to the end of each page. This, of course, means that if you later add or delete text, you'll need to delete section breaks so they again match up with the end of each page.
Sound complicated? It can be, particularly if you have a document with many pages because such a document will require many section breaks. Even so, a macro like the following will help accomplish what you want:
Sub FillFooter() Dim iPage As Integer Dim iSec As Integer Dim sFText As String Dim sTemp As String sFText = "See next page for this: " Selection.HomeKey Unit:=wdStory ' Go to beginning of document ' Use Find and Replace to get rid of all section breaks Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^b" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = False End With Selection.Find.Execute Replace:=wdReplaceAll iSec = 1 ' Only 1 section now in document For iPage = 1 To Selection.Information(wdNumberOfPagesInDocument) - 1 ' Figure out first two words on "next page" Selection.GoTo what:=wdGoToPage, which:=wdGoToNext, Name:=iPage + 1 Selection.MoveRight Unit:=wdWord, Count:=2, Extend:=wdExtend sTemp = Trim(Selection) While Asc(Right(sTemp, 1)) < 65 ' Word counts punctuation, tabs, etc. as a word, so grab another word Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend sTemp = Trim(Selection) Wend Selection.Collapse ' Now at beginning of page again Selection.MoveUp Unit:=wdParagraph Selection.InsertBreak Type:=wdSectionBreakContinuous ' Set text for page footer With ActiveDocument.Sections(iSec).Footers(wdHeaderFooterPrimary) .LinkToPrevious = False .Range.Text = sFText & sTemp End With iSec = iSec + 1 Next iPage End Sub
The macro first removes all section breaks from the document, then it goes through each page of the document and figures out the first two words of each. It then steps back a paragraph and adds a continuous section break and finally sets the footer for that section to be equal to the desired text. You should note that the footer is set equal to whatever is in the sFText variable followed by the first two words of the next page.
Understand that a macro such as this provides a "static" approach to the desired footer. This means that if you end up making changes to your document, you'll want to once again run the macro to update the footers.
Note:
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (2835) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, Word in Microsoft 365, and 2021.
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!
Trying to figure out how you want Word to handle footers in your document can be a challenge, primarily because Word ...
Discover MoreIf you don't want the information in a header or footer to be changed by users of your document, there are a couple of ...
Discover MoreIf you can produce output on a number of different printers, you may want Word to indicate on your printouts which ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
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.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments