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));

}

}

相关推荐
岁月宁静7 分钟前
在 Vue 3.5 中优雅地集成 wangEditor,并定制“AI 工具”下拉菜单(总结/润色/翻译)
前端·javascript·vue.js
执沐9 分钟前
基于HTML 使用星辰拼出爱心,并附带闪烁+流星+点击生成流星
前端·html
atwednesday18 分钟前
日志处理
javascript
#做一个清醒的人19 分钟前
【electron6】Web Audio + AudioWorklet PCM 实时采集噪音和模拟调试
前端·javascript·electron·pcm
拉不动的猪42 分钟前
图文引用打包时的常见情景解析
前端·javascript·后端
浩男孩43 分钟前
🍀继分页器组件后,封装了个抽屉组件
前端
Dolphin_海豚44 分钟前
@vue/reactivity
前端·vue.js·面试
该用户已不存在1 小时前
程序员的噩梦,祖传代码该怎么下手?
前端·后端
namehu1 小时前
前端性能优化之:图片缩放 🚀
前端·性能优化·微信小程序
rit84324991 小时前
ES6 箭头函数:告别 `this` 的困扰
开发语言·javascript·es6