2013-12-04 2 views

ответ

4

Для 5 дополнительных TEMPLATES вам необходимо скопировать его 5 раз в цикле:

Dim i as byte 
for i=1 to 5 
    Sheets("TEMPLATE").Copy after:=sheets("TEMPLATE") 
Next i 
+0

последующий вопрос: как могу ли я управлять именем нового листа? – karamell

+0

Что вы ожидаете получить от имени новых листов? –

+0

никогда не будет. Благодарю. – karamell

0

Вот пример, который составляет 13 копий:

Sub qwerty() 
    For i = 1 To 13 
     Sheets("TEMPLATE").Copy before:=Sheets(1) 
    Next i 
End Sub 

модифицируют это, чтобы удовлетворить ваши потребности.

0

Просто зарегистрируйтесь здесь, если кто-либо наткнется на этот ответ, как и я, вы также можете сделать это с диапазоном, если вы не хотите копировать весь лист, например, если ваш «Шаблон» - это всего лишь диапазон из другого листа

ThisWorkbook.Sheets("Master").Range("A2:L65536").Copy Destination:=ThisWorkbook.Sheets.Add(, Sheets("Data")).Range("A1") 

Что важно здесь:

назначения требует диапазон

Sheet.add возвращает объект рабочего листа.

так вместо передачи sheetX.range в качестве целевого аргумента мы проходим CreateNewSheetFunction.Range

не может быть хорошим примером кода redability, но все же, это вариант

Смежные вопросы