VBA技巧:复制多个工作表

2022-11-16 13:03:02 浏览数 (1)

标签: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标准模块中,运行代码试试看,这样就会对代码的作用有更深的理解。

vba

0 人点赞