Quote Originally Posted by DavG63 View Post
I tried the bookmark suggestion and your code but sadly it didn't get me to where I wanted to be. Whether that's because I'm just rubbish with bookmarks or in general I'm not sure.

I went back to the idea of coding in the delete for each page just using very basic IF statements on the basis of whether the ComboBox in the Userform is vbNullString or not:-
Are you actually using Section breaks to define the Sections? If you're expecting the code to work on something you simply call a Section, but isn't defined via Section breaks, you'll get unexpected results.

Furthermore, deleting by Section is problematic since, if you delete a Section, all subsequent Sections have their index # decreased by one. At least your code is doing the right thing by deleting them in reverse order. The following works for me:
Private Sub CommandButton1_Click()
With ActiveDocument
  If .Sections.Count < 15 Then
    MsgBox "Invalid Action. At least one Section has already been deleted", vbExclamation
    Exit Sub
  End If
  If Me.ComboBox36.Value = vbNullString Then .Sections(15).Range.Delete
  If Me.ComboBox34.Value = vbNullString Then .Sections(14).Range.Delete
  If Me.ComboBox32.Value = vbNullString Then .Sections(13).Range.Delete
  If Me.ComboBox30.Value = vbNullString Then .Sections(12).Range.Delete
  If Me.ComboBox28.Value = vbNullString Then .Sections(11).Range.Delete
  If Me.ComboBox26.Value = vbNullString Then .Sections(10).Range.Delete
  If Me.ComboBox20.Value = vbNullString Then .Sections(9).Range.Delete
  If Me.ComboBox19.Value = vbNullString Then .Sections(8).Range.Delete
  If Me.ComboBox18.Value = vbNullString Then .Sections(7).Range.Delete
  If Me.ComboBox17.Value = vbNullString Then .Sections(6).Range.Delete
  If Me.ComboBox16.Value = vbNullString Then .Sections(5).Range.Delete
  If Me.ComboBox14.Value = vbNullString Then .Sections(4).Range.Delete
End With
End Sub