首页 文章

我如何将多个工作表和多个图表obj表复制到另一个工作簿

提问于
浏览
-1
Sub cpySht2nWB()
Dim BkName As String
Dim NumSht As Integer
Dim BegSht As Integer

BegSht = 1

NumSht = ActiveWorkbook.Worksheets.Count
BkName = ActiveWorkbook.Name

Set NewBook = Workbooks.Add
With NewBook
    .SaveAs FileName:="C:\E2EPerformance\test.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
End With

For x = 1 To NumSht

    Workbooks(BkName).Sheets(x).Move _
    Before:=Workbooks("test.xlsm").Worksheets(x)

Next

结束子

它的程序错误:

运行时错误“1004”:Excel无法将工作表插入目标工作簿,因为它包含的行和列比源工作簿少 . 若要将数据移动或复制到目标工作簿,您可以选择数据,然后使用复制和粘贴命令插入另一个工作簿的工作表 .

假设:我有10个工作表和10个图表对象表我怎么能解决这个问题?

1 回答

  • 0

    尝试更改结束:如果您还有图表工作表,则工作表将不包含它们,仅使用表格

    Sub cpySht2nWB()
        Dim BkName As String
        Dim NumSht As Integer
        Dim BegSht As Integer
        Dim NewBook As Workbook
    
        BegSht = 1
    
        NumSht = ActiveWorkbook.Worksheets.Count
        BkName = ActiveWorkbook.Name
    
        Set NewBook = Workbooks.Add
        With NewBook
            .SaveAs FileName:="C:\E2EPerformance\test.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
        End With
    
        For x = 1 To NumSht
    
            Workbooks(BkName).Sheets(x).Move _
            Before:=NewBook.Worksheets(NewBook.Worksheets.Count)
    
        Next x
    End sub
    

相关问题