标签:VBA
有时候,我们想要批量复制多个工作表到新的工作簿,可以使用VBA代码来实现。例如,工作簿中有三个工作表,其名称分别为:Data、完美Excel和Output,要将这三个工作表一次复制到一个新的工作簿中并保存,示例代码如下:
代码语言:javascript复制Sub CopyMultiSheet()
Application.ScreenUpdating = False
Sheets(Array("Data", "完美Excel", "Output")).Copy
ActiveWorkbook.SaveAs Sheets("Data").[a1] & ".xlsx"
ActiveWorkbook.Close False
Application.ScreenUpdating = True
End Sub
代码很简单,关键就是下面这句代码:
Sheets(Array("Data", "完美Excel", "Output")).Copy
这里Sheets对象的Copy方法在复制工作表的同时,会生成一个新工作簿,而Array方法会将工作表组合到一起,就像我们在工作簿中按Ctrl键的同时选择工作表标签一样。
工作簿对象的SaveAs方法存储新工作簿(使用工作表Data的单元格A1中的内容作为工作簿名称),而Close方法关闭新工作簿。
有兴趣的朋友可以自己创建一个工作簿,按代码中的名称命名工作表,然后将上述代码复制到VBE标准模块中,运行代码试试看,这样就会对代码的作用有更深的理解。