Finding a Change in Typeface

by Allen Wyatt
(last updated December 16, 2017)

1

Derek needs a way to find, in a document, the next time the typeface (font name) changes. For instance, if the insertion point is within the middle of the document, he would like Word to let him know, starting at that point, where the next change occurs. Derek wonders if there is a way to accomplish such a task.

There is no built-in way to accomplish this task, though you may be able to visually tell when the typeface has changed. I can often tell by simply increasing the zoom factor for the document (say, to 200% or 250%) and then visually scanning the document to look for changes in appearance. Of course, this will depend on the visual disparity between the two adjacent fonts.

If you prefer a macro-based solution, you could create one that saves the typeface name at the current insertion point location and then steps through each remaining character of the document. If the typeface differs from the original one, then you can notify the user. Here is an example of such a macro:

Sub ChangeOfFont()
    Dim fntName As String
    Dim aRange As Range

    Set aRange = Selection.Range
    aRange.Collapse Direction:=wdCollapseStart
    aRange.MoveEnd Unit:=wdCharacter
    fntName = aRange.Font.Name
    Do
        aRange.MoveEnd Unit:=wdCharacter
        aRange.MoveStart Unit:=wdCharacter
    Loop Until aRange.Font.Name <> fntName Or _
      aRange.Bookmarks.Exists("\EndOfDoc")
    aRange.Select
    If aRange.Bookmarks.Exists("\EndOfDoc") Then
        MsgBox "End of document"
    Else
        MsgBox "Font change from " & fntName & " to " & aRange.Font.Name
    End If
End Sub

The majority of work is done in the Do loop, where each character's font is checked to see if it has changed. Note that the loop also checks to see if the end of the document is reached, at which point you would want the macro to stop.

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 (5131) applies to Microsoft Word 2007, 2010, 2013, and 2016.

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

Printer Name on the Status Bar

The status bar is a great place to display all sorts of information. It might not be the best place to put the name of ...

Discover More

AutoFilling from a Custom List

AutoFill can be a real timesaver if you often work with set lists of data. You can define your own custom lists and then ...

Discover More

Applying Consistent Shading to a Table

Formatting tables can be very time consuming. When you get a document from another person, you can spend a lot of time ...

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)

Determining the Number of Pages in Your Document

If your macro needs to know how many pages are in your document, you can use the Information method to get the desired ...

Discover More

Automatically Inserting Brackets

Want a fast way to add brackets around a selected word? You can use this simple macro to add both brackets in a single step.

Discover More

Accessing Paragraphs in a Macro

Need to process a document, paragraph by paragraph, in a macro? It's easy to do once you understand that Word's object ...

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 four less than 5?

2018-01-08 20:13:21

Susan Uttendorfsky, Adirondack Editing

Great idea! Thank you. Sometimes the different font is clear (like TNR to Arial), but other times it's more subtle, especially if it's only a period or a comma.

I especially like that you dim your variables. Some other macro writers I sometimes get macros from don't, and then I have to go through the trouble of doing it. :)


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.