将多个工作表复制到另一个工作簿

Copy multiple sheets to another workbook

我有一些代码会复制 sheet 然后创建一个新的工作簿,然后粘贴它并调整 sheet 名称和工作簿名称,然后再将其保存到桌面。

所有被调用的 subs 所做的是将数据范围从条目 sheet 转置到导出 sheet,这是被复制(命名为“行”)以粘贴到新的工作簿。

代码用作按钮,目前还不需要声明。

Sub UploadSheet()

    Call TransposeHS
    Call TransposeOrigin
    Call TransposeValues
    
    Application.ScreenUpdating = False

    Path = CreateObject("WScript.Shell").specialfolders("Desktop")
    Worksheets("Rows").Cells.Copy

    Workbooks.Add (xlWBATWorksheet)
    ActiveWorkbook.ActiveSheet.Paste
    ActiveWorkbook.ActiveSheet.Name = "Rows"
    ActiveWorkbook.SaveAs Filename:=Path & "\" & "Upload" & ".xlsx"
    ActiveWorkbook.Close SaveChanges:=True

    Application.ScreenUpdating = True

    MsgBox "Exported to Desktop"

End Sub

如何调整代码以复制超过 2 sheet 而不是只复制一个到新工作簿?

使用 Workbooks.Add 创建新工作簿然后粘贴过于复杂。

在作品sheet(s)上调用Copy而不指定任何参数;使用复制的 sheet(s) 创建了一个新工作簿,并且是 ActiveWorkbook.

Worksheets(Array("Rows", "SecondSheet")).Copy
ActiveWorkbook.SaveAs Filename:=Path & "\" & "Upload" & ".xlsx"