Копирование листов с использованием динамического массива из выбранных ячеек - PullRequest
0 голосов
/ 10 мая 2019

Я хочу создать новую рабочую книгу с маркированными листами из моего активного шаблона Excel, скопировав рабочие листы в новую рабочую книгу. В идеале я хочу сделать это, выбрав список (из имен листов) и запустив макрос, который создаст новую рабочую книгу с выбранными ячейками в качестве новых имен рабочих листов.

Я пробовал множество вещей, которые нашел в Интернете, но самое близкое, что я получил, это следующее:

Я могу создать новый лист, используя этот базовый подпункт:

Sub Copy_Worksheets()
Worksheets(Array("ACC_HF", "ACC_Aflac")).Copy
End Sub

Но значения в массиве жестко закодированы и будут меняться каждый раз. У меня есть список всех возможных имен вкладок / таблиц, и я хочу иметь возможность выбирать разные ячейки и запускать макрос.

В настоящее время у меня проблемы с передачей выделенных ячеек в функцию массива

Worksheets(Array(XXXXX).Copy

Sub array_work()
Dim tab_name As Variant
tab_name = Range("A2:A5").Value
Range("c2:c5") = tab_name

& 

End Sub
Sub Copy_Worksheets()
Worksheets(Array("ACC_HF", "ACC_Aflac")).Copy
End Sub

Я хочу выбрать диапазон, который должен быть передан в функцию массива Worksheets(Array("ACC_HF", "ACC_Aflac")).Copy и выведет новую рабочую книгу с таблицами, скопированными из шаблона.

...