我正在尝试将现有列从工作表复制到新工作簿中的列。
我尝试的代码:
Set NewBook = Workbooks.Add
Sheets("Sheet1").Columns(1).Copy Destination:=NewBook.Sheets("Sheet1").Columns(2)
这是创建工作表但没有复制值! 如果我复制到同一工作簿中的另一个工作表,则此代码有效。
如何在NewBook
的{{1}}和目标列中创建新工作表?
答案 0 :(得分:3)
你必须记住旧书,否则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