ExcelVBA在选择区域(有合并)中删除清除空行

【问题】

关于删除空行,以前是用函数来完成工作的,

今天有人提出问题,传来这个文件,

现有数据,1w多行,其中有部分列有不同合并单元格,跨行也不一样。如果要进行筛选删除空行,有一定的时间与难度。

函数可能不好做哦!

还是用VBA做一个吧,以后相同的工作也可复用,方便,

也可考虑整合到VSTO中。

0606cce4c54d02ad20ea89beab34a851.png

【代码】

共享如下(含测试代码)

Sub yhd选择区域删除空行()Dim SelRng As RangeSet SelRng = Selectionsi = SelRng.rowei = SelRng.rows.CountDebug.Print si, eiFor i = si To si + eia = Excel.Application.WorksheetFunction.CountA(SelRng.rows(i))Debug.Print "i=" & i & "a=" & aNextWith Worksheets("选择区域删除空行")Set SelRng = .Range("A1:L878")si = SelRng.rowei = SelRng.rows.Count'        Debug.Print si, eiEnd With
End Sub
Sub DeleteEmptyRowsInSelection()Dim rng As RangeDim r As Long' 检查选择区域是否为空If Selection Is Nothing ThenMsgBox "没有选择区域", vbExclamation, "提示"Exit SubEnd If' 获取选择区域的所有行号Dim rows As Variantrows = Selection.rows' 从最后一行开始向上遍历,避免索引问题For r = UBound(rows) To LBound(rows) Step -1' 检查整行是否有数据If WorksheetFunction.CountA(Selection.rows(r)) = 0 Then' 如果没有数据,删除该行'            Selection.rows(r).DeleteDebug.Print rSelection.rows(r).Interior.ColorIndex = 20End IfNext r
End Sub

代码中先用涂色,测试,如果要删除修改一下就可以啦

【运行】

我们可以先选择区域,再运行代码,

【成功】

如图

a2350f8572dfcb7560d0fcde7457a1aa.png

如果对你有帮助,转发给大家免费学习

b17b78dc9dd65dbaafd054478186e91c.jpeg

关注,有更多文章学习

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

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

相关文章

matlab使用教程(70)—修改坐标区属性

1.控制坐标轴长度比率和数据单位长度 您可以控制 x 轴、y 轴和 z 轴的相对长度(图框纵横比),也可以控制一个数据单位沿每个轴的相对长度(数据纵横比)。 1.1图框纵横比 图框纵横比是 x 轴、y 轴和 z 轴的相对长度。默认…

【二叉树算法题记录】404. 左叶子之和

题目描述 给定二叉树的根节点 root ,返回所有左叶子之和。 题目分析 其实这题无论是迭代法还是递归法,最重要的是要明确判断左叶子的条件:当前节点有左孩子,且这个左孩子没有它的左孩子和右孩子。 迭代法 感觉只要二叉树相关…

MySQL查询篇-连接查询

文章目录 inner joinleft join 和right join inner join 内连接是inner join ,只返回两个表匹配的数据行。 select a.*,b.* from a inner join b on a.id b.aid; --等价于 select a.*,b.* from a join b on a.id b.aid;left join 和right join 左外连接和右外…

docker部署微服务项目

要部署微服务项目,可以使用Docker来完成。Docker是一种容器化技术,可以将各个微服务打包成独立的容器,并且在同一个Host上运行。 下面是步骤: 安装Docker。根据你的操作系统选择相应的Docker版本,并按照官方文档进行安…

排序算法 下

1.快速排序 快速排序是Hoare在1962年提出的一种二叉树结构的交换排序的方法,采用了递归的思想 思想:任取待排序的元素序列中的某元素作为基准值,按照原来的顺序将序列分为两个子序列, 左子序列中的所有元素均小于基准直&#x…

Python-VBA函数之旅-sum函数

目录 一、sum函数的常见应用场景 二、sum函数使用注意事项 三、如何用好sum函数? 1、sum函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页: https://myelsa1024.blog.csdn.net/ 一、sum函数的常…

CSS:盒子模型

目录 ▐ box—model概述 ▐ 盒子的组成 ▐ 内容区 ▐ 内边距 ▐ 边框 ▐ 外边距 ▐ 清除浏览器默认样式 ▐ box—model概述 • CSS处理网页时,它认为每个标签都包含在一个不可见的盒子里. • 如果把所有的标签都想象成盒子,那么我们对网…

如何判断一个元素是否在可视区域中

可视区域就是我们浏览网页的设备肉眼可见的区域。 在开发总,我们经常需要判断目标元素是否在可视区域内或者可视区域的距离小于一个值,从而实现一些常用的功能,比如: 图片懒加载列表的无限滚动计算广告元素的曝光情况可点击链接…

记一次requests.get()返回数据乱码问题

现象 使用requests.get()请求,添加了header, 返回的数据使用了text接收;打印出来发现是乱码; 尝试解决 1、 设置encoding ret requests.get(url,headersheaders).text ret.encoding utf-8方法不生效; 2、利用apparent_enco…

远程桌面如何连接?

远程桌面连接是一种可以在不同地点之间共享电脑桌面的技术。通过远程桌面连接,用户可以在远程的计算机上操作另一台计算机,就像是直接坐在前者的前面一样。这种技术可以帮助用户解决在不同地点之间共享数据、协同办公、设备管理等问题。 【天联】的使用场…

【DevOps】linux命令top详解和实例

目录 一、top 命令基本用法 二、top 的输出解读 解释各部分信息 三、交互命令 四、实用示例 1、基本使用 2、按 CPU 使用率排序 3、 按内存使用率排序 4、监控特定用户的进程 5、实时查看特定 PID 的进程 6、调整屏幕刷新间隔 7、显示批处理模式 8、使用配置文件 …

浅谈@Controller注解和其他四大注解的区别

各位大佬光临寒舍,希望各位能赏脸给个三连,谢谢各位大佬了!!! 目录 1.Spring五大注解的使用约定 2.Controller注解的特别之处 3.总结 1.Spring五大注解的使用约定 Spring的五大注解(Controller&#x…

14.CAS原理

文章目录 CAS原理1.什么是CAS2.Unsafe类中的CAS方法2.1.获取UnSafe实例2.2.调用UnSafe提供的CAS方法2.3.调用Unsafe提供的偏移量相关2.4.CAS无锁编程2.4.1.使用cas进行无锁安全自增案例 CAS原理 由于JVM的synchronized重量级锁设计操作系统内核态下的互斥锁的使用,其…

二分判定+选插冒排序+归并快速堆希尔+计数排序

二分力扣题 一&#xff1a;搜索二维矩阵 74. 搜索二维矩阵 按照题意&#xff1a;直接利用二维数组转换成一维数组进行求解 方法一&#xff1a;普通等于的二分查找 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {t…

io_uring的使用示例及其解释

io_uring的使用示例及其解释 1 io_uring机制1.1 io_uring机制1.2 io_uring系统调用接口功能介绍1.2.1 io_uring_setup()&#xff1a;1.2.2 io_uring_enter()&#xff1a;1.2.3 io_uring_register()&#xff1a; 2 liburing2.1 liburing简介2.2 liburing编译2.2.1 liburing的代码…

基础ArkTS组件:导航栏组件(HarmonyOS学习第三课【3.8】)

Navigation 官方文献 Navigation 组件一般作为页面布局的根容器&#xff0c;它提供了一系列属性方法来设置页面的标题栏、工具栏以及菜单栏的各种展示样式。 Navigation 除了提供了默认的展示样式属性外&#xff0c;它还提供了 CustomBuilder 模式来自定义展示样式 说明 该…

SQLZOO:SELECT from NOBEL Tutorial

数据表&#xff1a;nobel yrsubjectwinner1960ChemistryWillard F. Libby1960LiteratureSaint-John Perse1960MedicineSir Frank Macfarlane Burnet1960MedicinePeter Madawar... Q1 Winners from 1950 Change the query shown so that it displays Nobel prizes for 1950. S…

【Liunx】深入了解 Linux 命令历史:使用 history 命令提高终端效率

这个年纪的我们 爱情跟不上分开的节奏 这个年纪的我们 更珍惜难得的自由 这个年纪的我们 比起从前更容易感动 这个年纪的我们 徘徊在理想与现实之中 不知不觉孤独不再可耻了 不知不觉爸爸的情绪变得脆弱了 不知不觉一把柴米油盐 也成为压力了 不知不觉我们也开始懂事了 …

OCR技术在历史文献数字化中的革命性作用

随着数字化技术的不断发展&#xff0c;历史文献的数字化已成为保存和传播文化遗产的重要途径。其中&#xff0c;光学字符识别&#xff08;OCR&#xff09;技术在历史文献数字化中发挥了革命性的作用&#xff0c;为研究者提供了更广阔的研究空间&#xff0c;推动了历史学研究的发…

kafka安装及收发消息

kafka需要与zookeeper配合使用&#xff0c;但是从2.8版本kafka引入kraft&#xff0c;也就是说在2.8后&#xff0c;zookeeper和kraft都可以管理kafka集群&#xff0c;这里我们依然采用zookeeper来配合kafka。 1、首先我们下载zookeeper 下载地址为 https://zookeeper.apache.org…