Loading
Excel.Tips.Net ExcelTips (Menu Interface)

Counting Words

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

Words are normally associated with a word processor, such as Microsoft Word. However, many people also work with words in their spreadsheet program. (I had a coworker once who used Excel to write memos all the time.) There may be times when you want to count the number of words in a worksheet that you receive from someone. There are native abilities to perform such a task in Word, but not in Excel.

One solution, of course, is to load your workbook into Word, perform the word count there, and then close the file. This is not nearly as flexible, however, as creating a macro to count words within Excel itself. The following macro, CountWords, counts the number of words in any range you select in a worksheet:

Sub CountWords()
    Dim MyRange As Range
    Dim CellCount As Long
    Dim TotalWords As Long
    Dim NumWords As Integer
    Dim Raw As String

    Set MyRange = ActiveSheet.Range(ActiveWindow.Selection.Address)
    TotalWords = 0
    For CellCount = 1 To MyRange.Cells.Count
        If Not MyRange.Cells(CellCount).HasFormula Then
            Raw = MyRange.Cells(CellCount).Value
            Raw = Trim(Raw)
            If Len(Raw) > 0 Then
                NumWords = 1
            Else
                NumWords = 0
            End If
            While InStr(Raw, " ") > 0
                Raw = Mid(Raw, InStr(Raw, " "))
                Raw = Trim(Raw)
                NumWords = NumWords + 1
            Wend
            TotalWords = TotalWords + NumWords
        End If
    Next CellCount
    MsgBox "There are " & TotalWords & " words in the selection."
End Sub

Notice that the macro steps through each cell in the range you select. It then ignores any cell that contains a formula. In all other cells it essentially counts the number of spaces in the cell. (One or more spaces are assumed to separate words.) The word count is then displayed in a message box for your edification.

The macro is pretty quick on relatively small ranges. If you pick a large range (such as the entire worksheet), then the macro can take a great deal of time to finish its work. The point of this is to make sure that you only select the actual range you want to analyze before invoking the macro.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2105) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Counting Words.

Related Tips:

Program Successfully in Excel! John Walkenbach's name is synonymous with excellence in deciphering complex technical topics. With this comprehensive guide, "Mr. Spreadsheet" shows how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Check out Excel 2013 Power Programming with VBA today!

 

Leave your own comment:

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

Comments for this tip:

SM    09 Sep 2014, 04:05
Superb code! worked like a charm
Rick Rothstein (MVP - Excel)    20 May 2012, 21:24
Here is another way to code that macro...

<pre>
Sub CountWords()
    Dim TotalWords As Long, MyRange As Range, Cell As Range
    On Error GoTo EmptySelection
    Set MyRange = Intersect(Selection, Selection.SpecialCells(xlConstants))
    For Each Cell In MyRange
        If Len(Cell.Value) Then TotalWords = TotalWords + UBound(Split(WorksheetFunction.Trim(Cell.Value))) + 1
    Next
EmptySelection:
    MsgBox "There are " & TotalWords & " words in the selection."
End Sub
</pre>
 
 

Our Company

Sharon Parq Associates, Inc.

About Tips.Net

Contact Us

 

Advertise with Us

Our Privacy Policy

Our Sites

Tips.Net

Beauty and Style

Cars

Cleaning

Cooking

DriveTips (Google Drive)

ExcelTips (Excel 97–2003)

ExcelTips (Excel 2007–2016)

Gardening

Health

Home Improvement

Money and Finances

Organizing

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 © 2016 Sharon Parq Associates, Inc.