我使用此代码将工作表(i)复制到新工作簿,但它始终在ActiveWorkbook.Sheets(i).Copy
错误。如果我使用特定工作表(如sheets("Handover")
)代码运行。请帮我解释一下
Sub CopyToNew()
'Copy the sheets(i) to a new Workbook.
For i = 3 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(i).Copy
Next
End Sub
答案 0 :(得分:0)
假设您有3个或更多工作表,那么第一次执行ActiveWorkbook.Sheets(i).Copy
时,新创建的工作簿将成为ActiveWorkbook
,只有一个工作表。
要避免此异常,请在代码中将ActiveWorkbook
替换为ThisWorkbook
。
此外,检查工作簿中是否有隐藏工作表,方法Copy
在隐藏工作表上失败。