简体   繁体   English

Excel VBA复制工作表

[英]Excel VBA copying worksheets

i would like to open two Excel Files and from each of the two Excel Files copying one distinct sheet into a new workbook so that this new workbook contains the two sheets of the ones first loaded. 我想打开两个Excel文件,然后从两个Excel文件的每一个中将一个不同的工作表复制到一个新的工作簿中,以便此新工作簿包含第一次加载的两个工作表。 I tried to use 我尝试使用

workbook("old.xls").worksheets(2).copy after:=workbook("new.xls").worksheets(1)

but I always get a Runtime error. 但是我总是会遇到运行时错误。

Any ideas what could be the problem? 任何想法可能是什么问题?

You can copy one sheet from the 1st workbook. 您可以从第一个工作簿中复制一张纸。 this will create a new workbook, then copy the 2nd sheet to that new workbook. 这将创建一个新工作簿,然后将第二张工作表复制到该新工作簿。

Sub CopySheetsToNewWB()

    Dim wb1 As Workbook, wb2 As Workbook
    Dim BK As Workbook


    Set wb1 = Workbooks("Old.xls")
    Set wb2 = Workbooks("Old2.xls")

    With wb1
        .Sheets("Sheet2").Copy
    End With

    Set BK = ActiveWorkbook

    With wb2
        .Sheets("Sheet1").Copy After:=BK.Sheets(1)
    End With


    BK.SaveAs Filename:="C:\Users\dmorrison\Downloads\NewWB.xls"
    BK.Close


End Sub

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM