实施常用JS宏记录原创
40人赞赏了该文章
416次浏览
编辑于2024年02月06日 13:26:00
/** * 把一个book内的多个sheet拆分为多个book */ function shtToBook() { let path=ThisWorkbook.Path + "\\";//路径 app_set(false);//取消屏幕刷新 for(let sht of Worksheets) {//遍历工作表 sht.Copy();//工作表复制后成为活动工作簿 with(ActiveWorkbook){ SaveAs(path + sht.Name);//默认文件类型并覆盖同名同类型文件 Close(true);//保存关闭 } } app_set(true);//恢复屏幕刷新 MsgBox("转换完成",0,"YYDS")} function app_set(bln) {//设定屏幕刷新等 with(Application) { DisplayAlerts=bln; ScreenUpdating=bln } }
/** * 把多个列结构相同的sheet合并成一个sheet */ function GetShtData(){ Cells.ClearContents();//清除整表旧数据 let aRes=[],k=0; for(let sht of Worksheets){//遍历工作表 if(sht.Name!=ActiveSheet.Name){//排除当前汇总表 let aTemp = sht.UsedRange.Value2; if(Array.isArray(aTemp)){//判断aTemp是否数组,避免空表、单值表的特殊情况 if(k++>0){aTemp.shift()};//如果不是首个工作表,删除首行标题行 aRes.push(...aTemp);//和结果数组合并 } } } if(aRes!=false){//判断ares是否为空 Range("a1").Resize(aRes.length,aRes[0].length).Value2=aRes; } MsgBox("数据合并完成,一共" + k +"张工作表",0,"ceshi");}
赞 40
40人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!