我有一个名为“模板”的模板表。
我在另一个名为“Formulation”的工作表上有一系列单元格,我希望它通过“G7:W7”范围查看并创建“模板”的副本并相应地重命名。
我已经调整了一段我找到的代码但是我遇到了运行时错误13 - 类型不匹配。
以下是代码:
`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
非常感谢任何建议!
更新
通过将宏按钮移动到配方页面,复制功能现在可以正常工作,但是在下面的代码行中我现在得到一个超出范围错误的下标?
Sheets("Template(2)").Name = rcell.Value
亲切的问候,
艾
答案 0 :(得分:1)
您需要以下内容:
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