2016-03-07 7 views
0

Я действительно новый закодировать так извини простой вопрос:VBA для создания чередующихся вкладок в Excel

Я в настоящее время есть следующий код, который создает новые вкладки в Excel из списка, который прекрасно работает, но я теперь есть «шаблон 2», и я хотел бы, чтобы он создал шаблон 1, затем шаблон 2 для каждого элемента на вкладке «ввод», используя диапазон F8 для «шаблона 1» и G8 для «шаблон 2». Я могу заставить его сделать все элементы в F8 для шаблона 1, а затем все элементы в G8 для шаблона 2, но я не могу заставить его чередовать.

Я в конечном счете хочу создать шаблон 1, затем шаблон 2, скопировать и вставить значения в новый файл и сохранить, а затем повторить для следующей строки на вкладке ввода.

Спасибо заранее

Sub Addnewsheets() 

Dim MyCell As Range, MyRange As Range 

Set MyRange = Sheets("Input").Range("F8") 
Set MyRange = Range(MyRange, MyRange.End(xlDown)) 

For Each MyCell In MyRange 
Sheets("Template 1").Copy after:=Sheets(Sheets.Count) 
Sheets(Sheets.Count).Name = MyCell.Value 'Renames the new worksheets 
Next MyCell 
Worksheets("End").Move after:=Worksheets(Worksheets.Count) 
End Sub 

ответ

2

Если интерпретировать ваш вопрос правильно, просто добавьте эти две строки перед Next MyCell

Sheets("Template 2").Copy after:=Sheets(Sheets.Count) 
Sheets(Sheets.Count).Name = MyCell.Offset(, 1).Value 'Renames the new worksheets based on column G 

Ради ясности For Loop становится:

For Each MyCell In MyRange 
    Sheets("Template 1").Copy after:=Sheets(Sheets.Count) 
    Sheets(Sheets.Count).Name = MyCell.Value 'Renames the new worksheets 
    Sheets("Template 2").Copy after:=Sheets(Sheets.Count) 
    Sheets(Sheets.Count).Name = MyCell.Offset(, 1).Value 'Renames the new worksheets based on column G 
Next MyCell 
+0

Блестяще спасибо Скотту! отлично работает – AmyF

+0

@AmyF - отметьте как ответ (зеленая галочка слева от ответа), чтобы другие в будущем знали, что это было решено. –