将带索引的工作表复制到新工作簿

时间:2017-05-05 03:43:38

标签: excel-vba indexing copy vba excel

我使用此代码将工作表(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

1 个答案:

答案 0 :(得分:0)

假设您有3个或更多工作表,那么第一次执行ActiveWorkbook.Sheets(i).Copy时,新创建的工作簿将成为ActiveWorkbook,只有一个工作表。

要避免此异常,请在代码中将ActiveWorkbook替换为ThisWorkbook

此外,检查工作簿中是否有隐藏工作表,方法Copy在隐藏工作表上失败。