Skip to main content

How to select or delete text between two bookmarks in Word document?

Do you know how to select or delete the content between two bookmarks in a Word document? This article will show you methods to deal with it.

Select/delete text between two bookmarks with VBA


Select/delete text between two bookmarks with VBA

Supposing there are two bookmarks in your document as below screenshot shown, you can select or delete all contents between these two bookmarks with the following VBA code.

1. In the document, press the Alt + F11 keys to open the Microsoft Visual Basic for Applications window.

2. In the Microsoft Visual Basic for Applications window, click Insert > Module, then copy below code into the Module window.

For selecting or deleting texts between two bookmarks, please use this code:

VBA code: Select text between two specified bookmarks in Word:

Sub SelectBetweenBookmarks()
    Dim xRange As Range
    Dim xBMone, xBMtwo As Bookmark
Dim xBookMarkOne, xBookMarkTwo As String
On Error Resume Next
    Set xRange = ActiveDocument.Content
    xBookMarkOne = InputBox("Please enter the start bookmark:", "Kutools for Word")
    xBookMarkTwo = InputBox("Please enter the end bookmark:", "Kutools for Word")
    Set xBMone = ActiveDocument.Bookmarks(xBookMarkOne)
    Set xBMtwo = ActiveDocument.Bookmarks(xBookMarkTwo)
    If xBMone Is Nothing Or xBMtwo Is Nothing Then
        MsgBox "Please enter the correct bookmark name", vbInformation, "KuTools for Word"
        Exit Sub
    End If
    xRange.Start = xBMone.Range.End
    xRange.End = xBMtwo.Range.Start
    xRange.Select
End Sub

VBA code: Delete text between two specified bookmarks in Word:

Sub DeleteBetweenBookmarks ()
    Dim xRange As Range
    Dim xBMone, xBMtwo As Bookmark
Dim xBookMarkOne, xBookMarkTwo As String
On Error Resume Next
    Set xRange = ActiveDocument.Content
    xBookMarkOne = InputBox("Please enter the start bookmark:", "Kutools for Word")
    xBookMarkTwo = InputBox("Please enter the end bookmark:", "Kutools for Word")
    Set xBMone = ActiveDocument.Bookmarks(xBookMarkOne)
    Set xBMtwo = ActiveDocument.Bookmarks(xBookMarkTwo)
    If xBMone Is Nothing Or xBMtwo Is Nothing Then
        MsgBox " Please enter the correct bookmark name ", vbInformation, "KuTools for Word"
        Exit Sub
    End If
    xRange.Start = xBMone.Range.End
    xRange.End = xBMtwo.Range.Start
    xRange.Delete
End Sub

3. Press the F5 key to run the code.

4. In the first Kutools for Word dialog box, enter the start bookmark name into the text box and click OK.

5. In the second Kutools for Word dialog box, enter the end bookmark and click OK. See screenshot:

Note: If the bookmark name you entered does not exist in document, another Kutools for Word dialog box will pop up to remind you of entering the correct one.

Then all contents between the specified bookmarks are selected or deleted immediately. See screenshots.

Select texts between two bookmarks:

Delete texts between two bookmarks.


Recommended Word Productivity Tools

 

Kutools For Word - More Than 100 Advanced Features For Word, Save Your 50% Time

  • Complicated and repeated operations can be done one-time processing in seconds.
  • Insert multiple images across folders into Word document at once.
  • Merge and combine multiple Word files across folders into one with your desired order.
  • Split the current document into separate documents according to heading, section break or other criteria.
  • Convert files between Doc and Docx, Docx and PDF, collection of tools for common conversions and selection, and so on...
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations