Нельзя добавить закладку к тексту, которого еще нет в документе. Другими словами, вы должны сначала выбрать текст, который вы хотите заключить в закладку. Если текст не существует, вы должны вставить текст, а затем выбрать его и, наконец, вставить необходимую закладку, чтобы окружить его.
Если бы вы открыли VBE, редактор Visual Basic и посмотрели на свой код, вы бы увидели оператор Add Range.Text:=Contents
в красном, который вызывал синтаксическую ошибку, потому что в методе Bookmarks.Add таких свойств нет.
Даже с исправленным методом Bookmarks.Add ваш код все равно не будет работать, поскольку строковой переменной BMName никогда не присваивается значение, а имя BookMark не может быть пустым.
Ниже приведен код пересмотра вашей программы, который вы должны изучить:
Sub AddBookMarkRevised()
Dim BMName As String
Dim Contents As String
Dim rng As Range
BMName = "BM1"
Contents = "Testing"
Set rng = Selection.Range
rng.Text = Contents
With ActiveDocument.Bookmarks
.Add BMName, rng
.DefaultSorting = wdSortByName
.ShowHidden = False
End With
End Sub