根据循环中单元格值的范围复制和重命名模板工作表

我有一个模板,我已经build立了名为“模板”。

我在另一个工作表上有一个名为“Formulation”的单元格,我希望它通过范围“G7:W7”来创build一个“Template”的副本,并相应地重命名它。

我已经适应了我find的一段代码,但是我一直遇到运行时错误13 – types不匹配。

这里是代码:

`Sub CopyInfoSheetandInsert() ' ' CopyInfoSheetandInsert Macro ' Dim rcell As Range Dim Background As Worksheet Set Background = Sheets("Formulation") For Each rcell In Range("D7:W7") If rcell.Value <> "" Then Sheets("Template").Copy Before:=Sheets("COSHH") Sheets("Template (2)").Name = rcell.Value End If Next rcell End Sub 

任何build议将不胜感激!

UPDATE

通过将macrosbutton移动到配方页面复制function现在可以工作,但是,在下面的代码行我现在得到一个下标超出范围错误?

 Sheets("Template(2)").Name = rcell.Value 

亲切的问候,

艾丹

你需要像这样的东西:

 Sub CopyInfoSheetandInsert() Dim rcell As Range Dim Background As Worksheet Set Background = Sheets("Formulation") For Each rcell In Range("D7:W7") If rcell.Value <> "" And SheetExists(rcell.Value) = False Then Sheets("Template").Copy Before:=Sheets("COSHH") Sheets(Sheets("COSHH").Index - 1).Name = rcell.Value End If Next rcell End Sub Function SheetExists(SheetName) As Boolean Dim sht As Worksheet 'Assume Failure SheetExists = False For Each sht In ActiveWorkbook.Sheets If sht.Name = SheetName Then 'Success SheetExists = True Exit Function End If Next sht End Function