View Single Post
 
Old 06-29-2025, 07:45 AM
glrothman glrothman is offline Windows 11 Office 2021
Novice
 
Join Date: Jun 2025
Posts: 1
glrothman is on a distinguished road
Default Trying to insert a number after every 100 words, ignoring punctuation and other characters

Hi...

I want to be able to place a number after every 100 words in a document. 100 after the first 100 words, 200 after the first 200 words, etc. Everything I've tried (with Copilot's help) inserts a number every 75-85 words, evidently including non-word characters.

Any wisdom you can offer either about achieving an accurate word count, or about achieving my overall aim, would be appreciated.

Here's the latest version, which was supposed to address the undercount by identifying only actually, but didn't.

TIA!



Code:
Sub InsertNumbersEveryHundredWords()
    Dim doc As Document
    Dim wordCount As Long
    Dim i As Long
    Dim counter As Long
    Dim rng As Range
    
    Set doc = ActiveDocument
    wordCount = 0
    counter = 100
    
    For i = 1 To doc.Words.Count
        If wordCount >= 30000 Then Exit For
        
        ' Check if the current item is a word
        If Trim(doc.Words(i)) <> "" And Not doc.Words(i).Text Like "[!A-Za-z0-9]" Then
            wordCount = wordCount + 1
        End If
        
        If wordCount Mod 100 = 0 Then
            Set rng = doc.Words(i).Duplicate
            rng.Collapse Direction:=wdCollapseEnd
            rng.Text = " " & counter
            counter = counter + 100
        End If
    Next i

End Sub

Last edited by macropod; 06-29-2025 at 05:15 PM. Reason: Added code tags for code formatting
Reply With Quote