欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > WPS宏实现Sheet页合并功能

WPS宏实现Sheet页合并功能

2025/5/2 0:35:34 来源:https://blog.csdn.net/weixin_38943098/article/details/141367577  浏览:    关键词: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));
    }
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词