Need to count the number of words in that jungle of text? Does your count conflict with the MS Word interpretation?
Stop scratching your head – let this copy-and-paste code snippet do all the hard work for you, using the same techniques as Microsoft itself.
Simply pass the GetWordCount function your text and it’ll return the number of letters used. It works by making the assumptions Microsoft Word does – such as that a hyphen at the end of a line signals one hyphenated word, not two separate words to be counted.
Public Function GetWordCount(ByVal Text As String) As Long ' Assume a hyphen at the end of a line ' is part of a full-word, so combine together Text = Trim(Replace(Text, "-" & vbNewLine, "")) ' Replace new lines with a single space Text = Trim(Replace(Text, vbNewLine, " ")) ' Collapse multiple spaces into one single space Do While Text Like "* *" Text = Replace(Text, " ", " ") Loop ' Split the string and return counted words GetWordCount = 1 + UBound(Split(Text, " ")) End Function