将列复制到VBA中的新工作簿表
我正试图将现有的列从工作表复制到新的工作簿中的列。
我试过的代码:
Set NewBook = Workbooks.Add Sheets("Sheet1").Columns(1).Copy Destination:=NewBook.Sheets("Sheet1").Columns(2)
这是创build一个工作表,但没有值被复制! 如果我复制到同一工作簿中的其他工作表,此代码工作。
我应该如何在NewBook
创build一个新工作表并在该工作sheet
定位目标列?
您必须记住旧书,否则Sheets("Sheet1").Columns(1)
将引用新添加的Sheet1
的第一列,因为这是当前的ActiveWorkbook
(所以您实际上复制了某些内容,但是东西是一个空的列):
Sub qwerty() Set w1 = ActiveWorkbook Set NewBook = Workbooks.Add w1.Sheets("Sheet1").Columns(1).Copy Destination:=NewBook.Sheets("Sheet1").Columns(2) End Sub
编辑#1:
这将重命名新工作簿中的工作表,然后执行复制:
Sub qwerty2() Set w1 = ActiveWorkbook Set NewBook = Workbooks.Add ActiveSheet.Name = "Report" w1.Sheets("Sheet1").Columns(1).Copy Destination:=Columns(2) End Sub