我试图实现以下目标。基于Excel中的列表自动创建工作表
当我在范围A5:A50中的“主”工作表上输入一个值时,会运行一个宏,它将创建一个与该值相同名称的新工作表,然后将该模板复制到新工作表中。
除此之外,我还想将Master工作表上输入的值旁边的值复制到此新工作表中,以便自动进行计算。
例如,我在A5中输入'1',在B5中输入'2'。我想创建一个名称为'1'的新工作表,从'模板'工作表复制模板,并将B5的值复制到名为'1'的新工作表中。
我有以下代码,但它也试图复制模板工作表与宏运行,这会导致错误,因为名称为'Template'的工作表已经存在。
Sub CreateAndNameWorksheets()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Sheets("Master").Range("A5:A50")
Sheets("Template").Copy After:=Sheets(Sheets.Count)
With c
ActiveSheet.Name = .Value
.Parent.Hyperlinks.Add Anchor:=c, Address:="", SubAddress:= _
"'" & .Text & "'!A1", TextToDisplay:=.Text
End With
Next c
Application.ScreenUpdating = True
End Sub
复制模板?你是否试图用不同的名字创建新模板? – 0m3r
re:*'并将B5的值复制到名为'1'的新工作表上。'*将其复制到新工作表上的哪个位置? – Jeeped
请不要对MS Office/VBA使用[**宏标签](http://stackoverflow.com/tags/macros/info)。 –