在VBA中将列复制到新工作簿工作表

在VBA中将列复制到新工作簿工作表,vba,excel,Vba,Excel,我正在尝试将现有列从工作表复制到新工作簿中的列 我尝试的代码: Set NewBook = Workbooks.Add Sheets("Sheet1").Columns(1).Copy Destination:=NewBook.Sheets("Sheet1").Columns(2) 这是在创建图纸,但未复制任何值! 如果我复制到同一工作簿中的其他工作表,则此代码有效 我应该如何在新书中创建一个新的工作表,并在该工作表中创建目标列?您必须记住这本旧书,否则工作表(“工作表1”)。列(1)将引用新

我正在尝试将现有列从工作表复制到新工作簿中的列

我尝试的代码:

Set NewBook = Workbooks.Add
Sheets("Sheet1").Columns(1).Copy Destination:=NewBook.Sheets("Sheet1").Columns(2)
这是在创建图纸,但未复制任何值! 如果我复制到同一工作簿中的其他工作表,则此代码有效


我应该如何在
新书中创建一个新的工作表,并在该
工作表中创建目标列?

您必须记住这本旧书,否则
工作表(“工作表1”)。列(1)
将引用新添加工作表的
工作表1
的第一列,因为此时它是
活动工作簿
(所以您实际上复制了某个内容,但该内容是一个空列):

编辑#1:

这将重命名新工作簿中的工作表,然后执行复制:

Sub qwerty2()
    Set w1 = ActiveWorkbook
    Set NewBook = Workbooks.Add
    ActiveSheet.Name = "Report"
    w1.Sheets("Sheet1").Columns(1).Copy Destination:=Columns(2)
End Sub

Gary是否可以将其复制到新工作簿中的工作表名称“Report”中?@vignesh请参阅我的编辑#1
Sub qwerty2()
    Set w1 = ActiveWorkbook
    Set NewBook = Workbooks.Add
    ActiveSheet.Name = "Report"
    w1.Sheets("Sheet1").Columns(1).Copy Destination:=Columns(2)
End Sub