Word.Tips.Net WordTips (Menu Interface)

Highlighting Every Thousandth Character

Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Highlighting Every Thousandth Character.

Hakan needs a macro that counts the characters (without spaces) in a word document and highlights every 1000th letter. Creating such a macro is rather straightforward—you simply need to examine all the characters in a document, in turn, and only count those that aren't spaces. The following is a simple little macro that will do just that:

Sub CountThousands1()
    Dim J As Long
    Dim X As Integer

    X = 0
    With ActiveDocument
        For J = 1 To .Characters.Count
            If .Characters(J) <> " " Then X = X + 1
            If X = 1000 Then
                Selection.Range.HighlightColorIndex = wdYellow
                X = 0
            End If
        Next J
    End With
End Sub

The macro is simple enough; it examines the Characters collection, which contains all the individual characters in a document. The problem with the macro is that it is slow—very slow. Word isn't terribly efficient in examining individual characters in this manner. (It appears that each time you reference a member of the Characters collection, Word needs to examined all the characters from the beginning of the document, all over again.)

A different approach is to simply step through the document, expanding a selection until you get to 1,000 non-space characters.

Sub CountThousands2()
    Dim X As Integer
    Dim sRaw As String
    Dim sProc As String

    Selection.MoveRight Unit:=wdCharacter, Count:=1000, Extend:=wdExtend
    While Len(Selection) = 1000
        sRaw = Selection
        sProc = Replace(sRaw, " ", "")
        X = 1000 - Len(sProc)
        While X > 0
            Selection.MoveRight Unit:=wdCharacter, Count:=X, Extend:=wdExtend
            sRaw = Selection
            sProc = Replace(sRaw, " ", "")
            X = 1000 - Len(sProc)
        Selection.Collapse Direction:=wdCollapseEnd
        Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
        Selection.Range.HighlightColorIndex = wdYellow
        Selection.Collapse Direction:=wdCollapseEnd
        Selection.MoveRight Unit:=wdCharacter, Count:=1000, Extend:=wdExtend
End Sub

Start this macro with the insertion point at the beginning of the document. The macro then grabs a thousand characters, assigns that selection to a variable (sRaw), creates a variable that has all the spaces removed from it (sProc) and then figures the length of sProc. If it is less than 1,000, then the selection is extended by however many characters it was short and the process is repeated. When the selection contains 1,000 non-space characters, then the highlight is set and the macro goes on to the next block of characters.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (7870) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Highlighting Every Thousandth Character.

Related Tips:

Learning Made Easy! Quickly teach yourself how to format, publish, and share your content using Word 2013. With Step by Step, you set the pace, building and practicing the skills you need, just when you need them! Check out Microsoft Word 2013 Step by Step today!


Leave your own comment:

  Notify me about new comments ONLY FOR THIS TIP
Notify me about new comments ANYWHERE ON THIS SITE
Hide my email address
*What is 5+3 (To prevent automated submissions and spam.)
           Commenting Terms

Comments for this tip:

There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)

Our Company

Sharon Parq Associates, Inc.

About Tips.Net

Contact Us


Advertise with Us

Our Privacy Policy

Our Sites


Beauty and Style




DriveTips (Google Drive)

ExcelTips (Excel 97–2003)

ExcelTips (Excel 2007–2016)



Home Improvement

Money and Finances


Pests and Bugs

Pets and Animals

WindowsTips (Microsoft Windows)

WordTips (Word 97–2003)

WordTips (Word 2007–2016)

Our Products

Helpful E-books

Newsletter Archives


Excel Products

Word Products

Our Authors

Author Index

Write for Tips.Net

Copyright © 2017 Sharon Parq Associates, Inc.