WPS宏实现Sheet页合并功能

把表格中N个Sheet页数据合并成一个新的Sheet页

function 合并Sheet页() {

//获取工作表对象

var ws = ThisWorkbook.Worksheets;

//创建名称为 合并页 的Sheet页,如果存在名称叫合并页的Sheet页,这里会报错,没做判断删除

var ws1 = ws.Add();

ws1.Name = "合并页";

//先把表头复制过去

ws.Item(2).Cells(1,1).Rows.EntireRow.Copy(ws1.Cells(1, 1));

//获取所有Sheet页对象

var worksheetObjects = {};

var sheetNum = ws.Count;

//console.log("Sheet页数量:"+sheetNum);

//这里i从2开始,把新创建的合并页抛出去

for(i = 2; i < sheetNum+1; i++){

var sheetName = ws.Item(i).Name;

//console.log("第"+i+"个"+"Sheet页名称:"+sheetName);

worksheetObjects[sheetName] = ws.Item(sheetName);

//每个Sheet页从第二行开始复制

var lastCol = worksheetObjects[sheetName].Cells(1, worksheetObjects[sheetName].Columns.Count).End(xlToLeft).Column;

var lastRow = worksheetObjects[sheetName].Cells(worksheetObjects[sheetName].Rows.Count,1).End(xlUp).Row;

//获取合并页的有多少行

var startRow = ws1.Cells(ws1.Rows.Count,1).End(xlUp).Row;

//开始复制

worksheetObjects[sheetName].Range(Cells(2,1),Cells(lastRow,lastCol)).Copy(ws1.Cells(startRow+1, 1));

}

}

相关推荐
小白小白从不日白10 分钟前
react 组件通讯
前端·react.js
罗_三金21 分钟前
前端框架对比和选择?
javascript·前端框架·vue·react·angular
Redstone Monstrosity28 分钟前
字节二面
前端·面试
东方翱翔35 分钟前
CSS的三种基本选择器
前端·css
Fan_web1 小时前
JavaScript高级——闭包应用-自定义js模块
开发语言·前端·javascript·css·html
yanglamei19621 小时前
基于GIKT深度知识追踪模型的习题推荐系统源代码+数据库+使用说明,后端采用flask,前端采用vue
前端·数据库·flask
千穹凌帝1 小时前
SpinalHDL之结构(二)
开发语言·前端·fpga开发
dot.Net安全矩阵1 小时前
.NET内网实战:通过命令行解密Web.config
前端·学习·安全·web安全·矩阵·.net
叫我:松哥1 小时前
基于Python flask的医院管理学院,医生能够增加/删除/修改/删除病人的数据信息,有可视化分析
javascript·后端·python·mysql·信息可视化·flask·bootstrap
Hellc0071 小时前
MacOS升级ruby版本
前端·macos·ruby