Зачем в этом коде используется Duplicate и зачем вообще нужно использовать Duplicate?
Код
Sub Макрос()
Dim tbl As Table, rng As Range
' Присваиваем первой таблице имя "tbl", чтобы было удобно читать и писать код.
Set tbl = ActiveDocument.Tables(1)
' Присваиваем имя "rng" содержимому ячейки.
Set rng = tbl.Cell(1, 1).Range.Duplicate
' Убираем с конца символ-кружок.
rng.MoveEnd Unit:=wdCharacter, Count:=-1
End Sub
Duplicate логично использовать.
Если используется Set, то устанавливается связь с объектом.
Если читать код, то переменная rng - это связь с ячейкой.
Нам нужно изменить rng, а саму ячейку менять не надо.
Поэтому логично работать не с самой ячейкой, а сделать её копию и с этой копией работать.
В данном случае нет необходимости использовать Duplicate, т.к. ячейка не будет изменена при изменении rng, но хуже от этого не будет - ни на что это не влияет (может быть только на скорость работы макроса, если надо работать с большим количеством ячеек).
Т.е. Duplicate нужен, чтобы не изменять исходный объект.
спасибо, пойду осмысливать