使用dynamic范围将一张纸复制到多张纸的macros

VBA奇才,

使用下面的代码,我能够生成多个工作表,其中标签名称等于dynamic范围:

Sub SheetMacro() Dim MyCell As Range, MyRange As Range Set MyRange = Sheets("Control_Sheet").Range("F7") Set MyRange = Range(MyRange, MyRange.End(xlDown)) For Each MyCell In MyRange Sheets.Add After:=Sheets(Sheets.Count) 'creates a new worksheet Sheets(Sheets.Count).Name = MyCell.Value ' renames the new worksheet Next MyCell End Sub 

当我尝试复制带有公式(EAC摘要)的源模板到所有最近创build的工作表时,我遇到了一些麻烦。 添加此代码将复制EAC摘要,但不会将dynamic范围内的选项卡命名为:

 Sub SheetMacro() Dim MyCell As Range, MyRange As Range Dim ws1 As Worksheet Set MyRange = Sheets("Control_Sheet").Range("F7") Set MyRange = Range(MyRange, MyRange.End(xlDown)) For Each MyCell In MyRange Sheets.Add After:=Sheets(Sheets.Count) 'creates a new worksheet Sheets(Sheets.Count).Name = MyCell.Value ' renames the new worksheet Set ws1 = ThisWorkbook.Worksheets("EAC Summary") ws1.Copy ThisWorkbook.Sheets(Sheets.Count) Next MyCell End Sub 

是否有一种最佳方法来组合代码,以便复制源模板,并根据dynamic范围内的input命名标签?

提前致谢。

我能够利用另一个命令来复制,这解决了我最初的问题。 以下是代码,对于任何可能遇到这个问题的人来说:

 Sub SheetMacro3() Dim MyCell As Range, MyRange As Range Set MyRange = Sheets("Control_Sheet").Range("F7") Set MyRange = Range(MyRange, MyRange.End(xlDown)) Sheets("EAC Summary").Visible = True 'displays master template For Each MyCell In MyRange Sheets("EAC Summary").Copy After:=Worksheets(Worksheets.Count) Sheets(Sheets.Count).Name = MyCell.Value ' renames the new worksheet Next MyCell Sheets("EAC Summary").Visible = False 'hides master template End Sub