每次我引用新创建的工作簿时,Excel 都会创建另一个

问题描述 投票:0回答:1

我正在尝试做应该非常简单的事情。从现有工作簿中的一张工作表复制数据,创建一个新工作簿,将新数据粘贴到其中,然后保存并关闭新工作簿。但是,每次我引用新工作簿时,Excel 都会创建另一个工作簿。我一定犯了一个非常基本的错误。

    Dim oldWB, newWB As Workbook
    
    Set oldWB = ActiveWorkbook
    Set newWB = Workbooks.Add
    
    oldWB.Worksheets("Sheet1").Copy
    newWB.Worksheets("Sheet1").Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    newWB.SaveAs "W:\filepath\CopyPasteTest.xlsx"
    newWB.Close
    
excel vba copy paste
1个回答
1
投票

Worksheet.Copy
不带任何参数创建一个新工作簿。

来自文档

如果您未指定 BeforeAfter,Microsoft Excel 将创建一个包含复制的 Worksheet 对象的新工作簿。

您想使用

Range.Copy
:

oldWB.Worksheets("Sheet1").UsedRange.Copy
© www.soinside.com 2019 - 2024. All rights reserved.