Excel VBA: подсчет слов в ячейке – несколько методов с примерами кода

Чтобы подсчитать слова в Excel с помощью VBA (Visual Basic для приложений), вы можете использовать разные методы. Вот несколько примеров:

Метод 1. Разделение слов пробелами

Function CountWords_Method1(ByVal text As String) As Long
    Dim words() As String
    words = Split(text, " ")
    CountWords_Method1 = UBound(words) + 1
End Function

Метод 2. Использование регулярных выражений

Function CountWords_Method2(ByVal text As String) As Long
    Dim regex As Object
    Set regex = CreateObject("VBScript.RegExp")
    regex.Pattern = "\b\w+\b"
    regex.Global = True
    CountWords_Method2 = regex.Execute(text).Count
End Function

Метод 3. Перебор символов

Function CountWords_Method3(ByVal text As String) As Long
    Dim wordCount As Long
    Dim i As Long
    Dim inWord As Boolean

    For i = 1 To Len(text)
        If Not inWord And Mid(text, i, 1) <> " " Then
            inWord = True
            wordCount = wordCount + 1
        ElseIf inWord And Mid(text, i, 1) = " " Then
            inWord = False
        End If
    Next i

    CountWords_Method3 = wordCount
End Function