WPS宏实现Sheet页拆分功能

源表格首列名称中一样的分别创建该名称的Sheet页,首先把首列复制导致Sheet2页,根据去重后的值创建新的Sheet页,把源表格数据复制到新建的Sheet页,遍历删除不需要的留下需要的就完成了。

function JIn521() {
    
    //设置工作表对象
    var ws1 = ThisWorkbook.Worksheets('Sheet1');
    //Sheet1页首列复制到Sheet2页并去重
    var lastRow = ws1.Cells(ws1.Rows.Count, 1).End(xlUp).Row;
    var sheet1Range1 = ws1.Range(ws1.Cells(1, 1), ws1.Cells(lastRow, 1));
    Worksheets.Add();
    ActiveSheet.Name = "Sheet2"
    var ws2 = ThisWorkbook.Worksheets('Sheet2');
    sheet1Range1.Copy(ws2.Cells(1, 1));
    ws2.Columns(1).EntireColumn.RemoveDuplicates(1, xlYes);
    
    //遍历Sheet2页值创建其余Sheet页
    var st2lastRow = ws2.Cells(ws2.Rows.Count, 1).End(xlUp).Row;
    var worksheetObjects = {};
    for(var z = 0; z<st2lastRow-1;z++){
        var sheet2Range2ItemValue = ws2.Cells(z+2, 1).Value2;
        var newWorksheet = Worksheets.Add();
        newWorksheet.Name = sheet2Range2ItemValue;
        worksheetObjects[sheet2Range2ItemValue] = newWorksheet;    
    
    //Sheet1页复制到其他页
    var lastCol = ws1.Cells(1, ws1.Columns.Count).End(xlToLeft).Column;
    var sheet1Range2 = ws1.Range(ws1.Cells(1,1),ws1.Cells(lastRow,lastCol));
    sheet1Range2.Copy(worksheetObjects[sheet2Range2ItemValue].Cells(1, 1));

    
    //获取其他页数据及地址
    var arrow = new Array();
    var st5LastRow = worksheetObjects[sheet2Range2ItemValue].Cells(worksheetObjects[sheet2Range2ItemValue].Rows.Count, 1).End(xlUp).Row;
    
    for(var j = 0 ; j < st5LastRow ; j++){
         arrow[j]=j+1;
    }
    
    var arrow1 = new Array();
    
    for (let x = 0; x < arrow.length; x++) {
        var a = worksheetObjects[sheet2Range2ItemValue].Range("A"+arrow[x]).Value2;
        var b = worksheetObjects[sheet2Range2ItemValue].Range("A"+arrow[x]).Address();
        arrow1.push(a+":"+b);
        }
        
    //遍历删除
    for(let i = 0;i<arrow1.length;i++){
        array = arrow1[i].split(':');
        
        if(array[0] != sheet2Range2ItemValue && array[0]!= "地市"){
            worksheetObjects[sheet2Range2ItemValue].Range(array[1]).EntireRow.Clear();
            }
        }
    
    var st5LastRow1 =worksheetObjects[sheet2Range2ItemValue].Cells(worksheetObjects[sheet2Range2ItemValue].Rows.Count, 1).End(xlUp).Row;
    for(let y = st5LastRow1; y>0; y--){
        if(Application.WorksheetFunction.CountA(worksheetObjects[sheet2Range2ItemValue].Rows(y))==0){
            worksheetObjects[sheet2Range2ItemValue].Rows(y).Delete();    
        }
        }
    }    
    //删除源表格Sheet2页,设置不弹出是否删除的提示框,执行删除完毕后开启
    Application.DisplayAlerts = false;
    ws2.Delete();
    Application.DisplayAlerts = true;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/52207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ffmpeg读取时长、读取视频格式

ffmpeg读取时长、读取视频格式 ffmpeg读取时长ffmpeg读取视频格式 ffmpeg读取时长 命令命令介绍具体用法ffmpeg -i查看视频时长ffmpeg -i 视频链接 or 视频路径 2>&1 | grep Duration ffmpeg读取视频格式 命令命令介绍具体用法ffmpeg -i查看视频时长ffmpeg -i 视频链接…

Java CompletableFuture:你真的了解它吗?

文章目录 1 什么是 CompletableFuture&#xff1f;2 如何正确使用 CompletableFuture 对象&#xff1f;3 如何结合回调函数处理异步任务结果&#xff1f;4 如何组合并处理多个 CompletableFuture&#xff1f; 1 什么是 CompletableFuture&#xff1f; CompletableFuture 是 Ja…

<数据集>商品条形码识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;3748张 标注数量(xml文件个数)&#xff1a;3748 标注数量(txt文件个数)&#xff1a;3748 标注类别数&#xff1a;1 标注类别名称&#xff1a;[Barcode] 序号类别名称图片数框数1Barcode37484086 使用标注工具&am…

探索Qotom Q51251OPS迷你电脑:功能与广泛应用

Qotom Q51251 OPS&#xff08;开放可插拔规范&#xff09;迷你电脑是一款设计紧凑且功能强大的设备&#xff0c;旨在满足不同领域的多样化需求。基于英特尔Core i5-12450H Alder Lake H处理器&#xff0c;这款设备不仅具备出色的计算性能&#xff0c;还提供了丰富的连接选项&am…

【MySQL】数据库基础(库的操作)

目录 一、MySQL安装、连接、修改密码操作 二、库的操作 2.1 创建数据库 2.2 字符集和校验规则 2.3 操控数据库 2.4 修改数据库 2.5 删除数据库 2.6 数据库的备份和恢复 2.7 查看连接情况 前情提要&#xff1a; 我的服务器操作系统是Ubuntu20.04&#xff0c;安装的是M…

关于Spring Boot的自动配置

目录 1.EnableAutoConfiguration注解 2.SpringBootConfiguration注解 3.Import注解 4.spring.factories 5.总结 &#xff08;1&#xff09;EnableAutoConfiguration &#xff08;2&#xff09;AutoConfigurationImportSelector &#xff08;3&#xff09; SpringFactoriesLoade…

【好书推荐】值得深读的EMC参考书籍

以下排序不分先后&#xff0c;都是好书&#xff01; 书名&#xff1a;Electromagnetic Compatibility Engineering 作者&#xff1a;Henry W. Ott 这本书的讨论重点放在了经济高效的EMC设计上&#xff0c;并将数学的数量和复杂度保持在最低限度&#xff0c;辅以 250 多个带有…

Jenkins汉化配置详解

Window安装构建神器Jenkins Window安装构建神器Jenkins详细教程-CSDN博客DevOps&#xff0c;CI&#xff0c;CD&#xff0c;自动化简单介绍选择其他需要和Jenkins一起安装的服务&#xff0c;点击Next。https://blog.csdn.net/qq_37237487/article/details/141299623 登录进入J…

什么是BOM,有哪些分类?

一、什么是BOM&#xff1f; BOM是物料清单的缩写&#xff0c;也称为产品结构表或产品结构树。 BOM的作用主要是通过计算机辅助企业生产管理&#xff0c;使计算机能够识别企业所制造的产品构成和所有要涉及的物料。 在制造业中&#xff0c;BOM是一份详细记录制造某个产品时所…

大模型19:微调大模型方法

有监督微调&#xff08;SFT&#xff09;、奖励模型&#xff08;RM&#xff09;训练&#xff0c;以及基于人类反馈的强化学习&#xff08;RLHF&#xff09;训练 1. 有监督微调&#xff08;SFT - Supervised Fine-Tuning&#xff09; 数据处理 数据收集&#xff1a;首先&#x…

cdr工具介绍之刻刀工具

在日常的生活当中&#xff0c;在很多时候我们会遇到各种各样的难题&#xff0c;但软件cdr他就是一个神奇的存在&#xff0c;因为他能帮助我们解决很多专业方面的的知识。尽管他的内容相比较其他的一些设计软件而言相对于较为少&#xff0c;但是他确实一个非常适合于平常的工作学…

[Linux CMD] 查询占用进程 fuser

常用 fuser -n file xxx.sh #查找占用进程 kill Process_ID 基本语法 fuser [选项] 文件/目录/套接字 常用选项 -n&#xff1a;指定命名空间&#xff0c;可以是 file (默认)、inet (网络连接)、udp (UDP 连接) 或 unix (Unix 套接字)。例如&#xff0c;-n file 表示后面跟…

在 uboot 中实现 UDP 协议

一、明确背景 uboot中有许多通信协议&#xff0c;像TFTP、NFS等&#xff0c;这些协议底层都是基于UDP协议来实现的&#xff0c;由于有一个板子在 uboot 段进行固件下载更新的需求&#xff0c;本来想基于TCP协议来实现自定义通信协议&#xff08;TCP有自带的拥塞控制和重传机制&…

【人工智能】TensorFlow lite介绍、应用场景以及项目实践:使用TensorFlow Lite进行数字分类

一、TensorFlow Lite 介绍 TensorFlow Lite&#xff08;简称TFLite&#xff09;是谷歌开发的一种轻量级的深度学习框架&#xff0c;专为移动设备和嵌入式设备设计。它是TensorFlow的移动和嵌入式设备版本&#xff0c;旨在帮助开发者在资源受限的设备上执行机器学习模型。Tenso…

vue生命周期函数

文章目录 1.vue21.1 Vue 生命周期 和 生命周期的四个阶段1.2 Vue 生命周期函数&#xff08;钩子函数&#xff09; 2.vue3 1.vue2 1.1 Vue 生命周期 和 生命周期的四个阶段 &#xff08;1&#xff09;create指的是数据代理和数据监测的创建 1.2 Vue 生命周期函数&#xff08;钩…

docker手动部署django项目Dockerfile编排-后端发布

1、首先创建一个桥接网络 docker network create auto 2、部署redis,提供celery的消息队列服务 docker run --name redis --restartalways -d --network auto -v redis:/data redis:alpine3、部署数据库 注意数据库账号密码 docker run --name mariadb --restartalways -d…

九泰智库 | 医械周刊- Vol.51

⚖️ 法规动态 白内障人工晶体类医用耗材集采落地&#xff0c;平均降幅60% 湖北省自7月10日起实施人工晶体类医用耗材集中带量采购政策&#xff0c;中选产品平均降幅达60%&#xff0c;显著减轻了患者经济负担。此举是国家组织医用耗材采购的一部分&#xff0c;旨在通过集中采购…

python-leetcode刷题日记

1、defaultdict 用于计数&#xff0c;计算元素key出现的个数,可以避免key不存在的时候报错&#xff0c;当KEY不存在的时候默认为0&#xff0c;可以是list、set、str defaultdict[key].append[value] 49. 字母异位词分组 ​ 给你一个字符串数组&#xff0c;请你将 字母异位词…

Eureka Server与Eureka Client详解:服务注册与发现的交互机制

Eureka Server与Eureka Client详解&#xff1a;服务注册与发现的交互机制 Eureka 是 Netflix 开源的一个服务发现框架&#xff0c;它是 Spring Cloud 微服务架构中的核心组件之一。Eureka 主要由两个关键组件构成&#xff1a;Eureka Server 和 Eureka Client。它们之间通过一定…

完美解决html2canvas + jsPDF导出pdf分页内容截断问题

代码地址&#xff1a;https://github.com/HFQ12333/export-pdf.git html2canvas jspdf方案是前端实现页面打印的一种常用方案&#xff0c;但是在实践过程中&#xff0c;遇到的最大问题就是分页截断的问题&#xff1a;当页面元素超过一页A4纸的时候&#xff0c;连续的页面就会…