一键拆分工作表至独立工作簿的宏代码教程 点击使用AI助手 了解更多

发布于 2024-10-20 liusiyang 280 编辑

【案例】在下面的工作簿中,有多张工作表,现在我们需要将每个工作表拆分为独立的工作簿,并按照工作表名称命名。

【结果】结果如下,所有工作表都被拆分到同一个文件夹中

【操作效果】具体操作效果如下:

【代码】具体代码如下,可按ALT+F11打开WPS宏编辑器,复制下面的代码粘贴到编辑器中。

function 将工作表拆分为工作簿(){

//禁用Excel的弹出警告,避免在拆分过程中弹出确认对话框干扰流程。

Application.DisplayAlerts=false;

//获取当前工作簿的引用,用于后续的操作。

let tb= ThisWorkbook;

//定义保存拆分后的工作簿的路径,其中“/拆分文件夹/”是文件夹的名字,可以自行修改为需要的名字。

let p=tb.Path + "/拆分文件夹/"

//遍历当前工作簿中的每一个工作表。

for(sh of tb.Sheets){

//将当前工作表复制,这样它就不再属于原来的工作簿,而是新工作簿的一部分。

sh.Copy();

//将新工作簿赋值给变量ab

let ab=ActiveWorkbook

//将新复制的工作簿保存到之前定义的路径下,文件名为原工作表名(如“Sheet1”)后缀为“.xlsx”。

ab.SaveAs(p + sh.Name + ".xlsx");

//关闭新创建的工作簿,因为不需要它继续保持打开状态。

ab.Close();

//执行DoEvents语句以处理其它等待的事件,例如鼠标点击等,提高操作效率。

DoEvents();

}

//恢复Excel的弹出警告功能。

Application.DisplayAlerts=true;

//弹出消息框,通知用户工作簿已经拆分完毕。

MsgBox( "工作簿拆分完毕!");

}

【素材下载】点击下方链接,下载文件本地文件夹,并在文件夹中新建一个名为”拆分文件夹“的文件夹。

https://kdocs.cn/l/cf7coTg9wrMQ

原文链接:https://bbs.wps.cn/topic/9200

上一篇: WPS从入门到熟练的快速指南
下一篇: WPS最新更新:11个新数组函数免费使用,提升办公效率!
相关文章