关于excel:vba宏从一张表中复制数据并将其保存为新工作簿

vba macro to copy data from one sheet and save it a new workbook

我不确定这里出了什么问题。

以下代码应该从当前工作簿中的一张工作表中复制我的所有数据,将其粘贴到新工作簿中,然后将该工作簿保存在与当前工作簿相同的目录中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub copy_to_new_workbook()

ThisWorkbook.Sheets("summary_data").Copy


' Create new Workbook
Set NewBook = Workbooks.Add

' Name it and paste data
NewBook.Activate
ActiveSheet.Paste
NewBook.SaveAs Filename:="export.xlsx"


End Sub

但是会发生什么,它是否会创建一个名为 "export.xlsx" 的新 excel 文件,而复制的只是我的 vba 代码?此外,会打开一个名为 book2book3 的新工作簿,此工作簿有我需要的数据但未保存?

另外,我想保存新工作簿,其标题如下:export_DD_MM_YYYY,名称字段中包含今天的日期。

谢谢。


1
 ThisWorkbook.Sheets("summary_data").Copy

创建工作表的副本(不是内容) - 如果您没有指定该副本的位置,那么它将在新工作簿中创建。

此时你可以调用

1
Set NewBook = Activeworkbook

并保存它。

如果您只想复制工作表内容,那么您可以使用:

1
 ThisWorkbook.Sheets("summary_data").Cells.Copy

1
 ThisWorkbook.Sheets("summary_data").UsedRange.Copy