Я хочу скопировать таблицу шаблонов на листе и оставить клоны с указанными c именами.
Это мой код для создания переименованного клона:
Dim oTemplate As ListObject
Dim iTableCount As Long
Set oTemplate = ActiveSheet.ListObjects.Item(1)
iTableCount = ActiveSheet.ListObjects.Count
Dim rStart As Range
Set rStart = ActiveSheet.Range("G3")
rTemplate.Copy rStart
ActiveSheet.ListObjects(iTableCount + 1).Name = "Copied_table"
Это считается ListObjects.Count
при запуске использует Range.copy
, чтобы скопировать таблицу шаблонов в rStart
, затем изменить имя ListObjects.Item
с индексом 1 больше, чем начальный ListObjects.Count
.
Мне не нравится последний шаг. Доступ к ListObject безопасен только по индексу элемента коллекции?
(я не могу использовать имя новой таблицы, она создается автоматически и может мешать другим таблицам в книге.)