WD2000: VBA: How to Count the Occurrences of a Word or Phrase

This article was previously published under Q240157
This article has been archived. It is offered "as is" and will no longer be updated.
Microsoft Word does not provide a built-in feature to count the number of times a word or phrase is used in a document. However, by using the programming language in Word, you can create a routine that performs this function.
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

Create the Macro

Sub CountWordPhrase()Dim x, Response, ExitResponseDim y As Integer' If an error occurs, continue the macro.On Error Resume NextAskAgain:' Ask for the text to count.x = InputBox("Type the word you want to count and then click OK." _& Chr$(13) & Chr$(13) & _"NOTE: This macro will find a whole word only. If the text you typed " _& "is part of a larger string, it will also be found.")' If text typed is blank or spaces, then ask to quit.If x = "" Or x = " " Then    ExitResponse = MsgBox("You either clicked Cancel or you did " & _    "not type a word. Do you want to quit?", vbYesNo)        If ExitResponse = 6 Then        End    Else        ' If answer No to quit, then ask for text to count again.        GoTo AskAgain    End IfElse    ' Search for and count occurrences of the text typed.    With ActiveDocument.Content.find        Do While .Execute(FindText:=x, Forward:=True, Format:=True, _           MatchWholeWord:=True) = True                       ' Display message in Word's Status Bar.           StatusBar = "Word is counting the occurrences of the text " & _           Chr$(34) & x & Chr$(34) & "."                      y = y + 1        Loop    End With' Display Message Box with results.Response = MsgBox("The text " & Chr$(34) & x & Chr$(34) & " was found" _& Str$(y) & " times.", vbOKOnly)End IfEnd Sub				

Assign a Shortcut Key to the Macro

You can assign a shortcut key to a macro by using the following steps:
  1. On the Tools menu, click Customize.
  2. Click Keyboard.
  3. In the Save changes in box, click the current document name or template in which you want to save the shortcut key changes.
  4. In the Categories box, click Macros.
  5. In the box to the right, click the name of the macro.

    NOTE: Any shortcut keys that are currently assigned to the macro will appear in the Current keys box.
  6. In the Press new shortcut key box, type the shortcut key combination you want to assign.
  7. Click Assign.

Place the Macro on a Menu or Toolbar

You can assign the macro to a menu or toolbar button by using the following steps:
  1. On the Tools menu, click Customize.
  2. Click the Commands tab.
  3. Under Categories, click Macros.
  4. In the Commands list, right-click the macro and drag the macro to the menu or toolbar you want.
  5. Click Close to close the Customize dialog box.
For more information about how to use the sample code in this article, clickthe article number below to view the article in the Microsoft Knowledge Base:
212536 OFF2000: How to Run Sample Code from Knowledge Base Articles

Article ID: 240157 - Last Review: 12/05/2015 15:38:01 - Revision: 3.2

Microsoft Word 2000 Standard Edition

  • kbnosurvey kbarchive kbhowto kbmacroexample kbprogramming KB240157