【WPS应用案例】按照内容拆分工作表,免费实现会员功能

懒人办公
懒人办公

创作者俱乐部成员

【案例】以下是一张人员信息表,现在我们需要按照D列的村名将数据拆分为独立工作簿。

相当于下面这个会员功能:

现在我们用JS宏来免费实现这个功能,并且解决会员不能拆分多行标题的问题。

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

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

function 按内容拆分数据(){

Application.DisplayAlerts=false; //关闭提醒,防止拆分过程被打断

obj={}; //定义一个字典对象obj,用于存放文件标题

p=ThisWorkbook.Path + '/拆分/'; //拆分文件夹

th=ThisWorkbook.ActiveSheet;

t = parseInt(InputBox("请输入标题行数","标题行数",3)); //标题行数,接受用户输入

col=InputBox("请输入拆分列名","拆分列名",'d'); //拆分列名,接受用户输入

c = th.Range(col+'1').Column; //获取拆分列号

rn=th.Range('a'+Rows.Count).End(xlUp).Row; //最后一行数据行号

tg=Rows("1:"+t); //将标题区域写入单元格对象tg

ar=th.Range(col+(t+1)+':'+col+rn).Value2; //将关键列写入数组ar

ar.forEach(v=>obj[v]=v); //将拆分列写入字典对象obj,目的是去重

for(k of Object.keys(obj)){

let nw = Workbooks.Add(); //新建工作簿

let sh = nw.Sheets.Item(1); //新工作簿的第一张工作表

tg.Copy(sh.Range('a1'));

th.Range('a'+t).AutoFilter(c,k); //筛选数据

th.Range('a'+t).CurrentRegion.Offset(1,0).Copy(

sh.Range('a'+(t+1))); //复制筛选后的数据

nw.SaveAs(p + k + ".xlsx"); //保存表格

nw.Close(); //关闭表格

}

th.Range('a1').AutoFilter(); //取消筛选

Application.DisplayAlerts=true; //开启提醒

alert("拆分完成!"); //提示拆分完成

}

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

https://kdocs.cn/l/cbyBlL3hoiCk

贵州省
浏览 4227
收藏
28
分享
28 +1
24
+1
全部评论 24
 
企业用户_262932550
楼主好,这个代码我试了一下说方法执行失败,错误在第39行保存表格那里,试了好几次也下载了最新版本wps还是不行,只出来一个工作簿,筛选了一个类别的。
· 河南省
1
回复
企业用户_262932550
又试了一下可以了,原来是原始文件不可以也放在“拆分”文件夹里。
· 河南省
1
回复
 
『空、城』
“村”筛选项这一行上面为什么要空一行,去掉空行,“村”筛选项这一行分出的表就没有了
· 江西省
回复
 
微笑似年华
步骤很详细,非常感谢博主分享
· 四川省
回复
 
悠扬的旋律
筛选复制
· 浙江省
回复
 
destroyer——bin
步骤很详细,非常感谢博主分享
· 云南省
回复
 
xxy
步骤很详细,一步一步跟着,很快就能明白了
· 山东省
回复
 
WPS_1698050646
不错,很受用
· 福建省
回复
 
བྱམས་པ་བཀྲིས།
感谢博主分享,很实用
· 西藏
回复
 
岚
感谢博主的分享!干货满满!
· 上海
回复
 
山雨&欲来
博主真的厉害,解决了很多问题
· 江苏省
回复
 
左道旁门
WPS应用案例非常好,很实用,解析操作步骤也很明细,一看就能看懂学会,解决了很多不会应用的问题。
· 云南省
回复
 
LV
这个博主很给力,工作中能够达到事半功倍的效果
· 江苏省
回复
 
企业用户_389992642
这个博主真的太好了,帮我解决了很多问题,非常感谢你
· 云南省
回复
 
WPS_1699416568
超级好用!帮我解决了一大难题!
· 河南
回复
 
君临天下肆无忌惮钰海
案例很实用,帮助我解决了工作上的很多问题
· 安徽省
回复
 
鲁建波
这个博主真的厉害,解决了很多问题
· 河北省
回复
 
许
案例非常好,很实用,解析操作步骤也很明细,一看就能看懂学会,感谢!!
· 福建省
回复
 
萃
下载并试用了,成功了,等研究透了以后可以应用于工作中,感谢!
· 湖北省
回复
 
WPS_1540613555
WPS应用案例非常好,很实用,解析操作步骤也很明细,一看就能看懂学会,解决了很多不会应用的问题。
· 西藏
回复
 
WPS_1540613555
WPS应用案例非常好,很实用,解析操作步骤也很明细,一看就能看懂学会,解决了很多不会应用的问题。👍🏻👍🏻👍🏻👍🏻
· 西藏
回复