VBA要复制并过去两个不同的工作簿

时间:2018-05-24 07:32:36

标签: vba excel-vba excel

我想复制所有数据并将其粘贴到新工作簿中。通过以下编码,我可以粘贴所有值,但它创建了两个工作簿并将数据粘贴到一个工作簿中。

我想只创建一个新工作簿并通过数据。不确定出了什么问题。

On Error Resume Next
ThisWorkbook.Sheets(2).Copy
Dim wkb As Workbook
Set wkb = Workbooks.Add
wkb(1).PasteSpecial xlPasteValues
On Error GoTo 0

2 个答案:

答案 0 :(得分:2)

Copy方法在应用于工作表和应用于范围时具有不同的含义:

所以在你的情况下,声明

ThisWorkbook.Sheets(2).Copy

已将工作表复制到新工作簿中。

如果要显式创建新工作簿,则应将使用的范围复制到剪贴板:

ThisWorkbook.Sheets(2).UsedRange.Copy

答案 1 :(得分:0)

这不是答案,但让我这样做而不是你自己:

On Error Resume Next 
    ThisWorkbook.Sheets(2).Copy 
    Dim wkb As Workbook 
    Set wkb = Workbooks.Add 
    wkb(1).PasteSpecial xlPasteValues 
    On Error GoTo 0