我对代码真的很陌生,请原谅这个简单的问题:
我目前有以下代码,可以从列表中创建新选项卡,它可以完美地运行,但我现在有一个'模板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
答案 0 :(得分: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