乐于分享
好东西不私藏

【WPS JSA】秒删工作表数据区域内所有空行

【WPS JSA】秒删工作表数据区域内所有空行

大家好,我是宽吻鳄。这里是「宽吻鳄画表勒格记」——专注WPS表格硬核技巧,每期干货,让你的工作效率直线飙升!欢迎关注,咱们一起解锁更多高效技能!

在实际使用WPS表格工作时,一会儿需要插入空行,如制作工资条、设计工作表样式等等;一会儿又需要删除多余的空行,如网上下载到表格的资料带有很多空行、汇总下一级单位明细数据有的会带很多空行等等。当然,用手工操作都可以实现的,但空行的数据量很大,且又很分散时,手工操作的效率很低,也非常可能不小心误删除有用信息,自己还没有发现。

批量删除空行有几种应用场景:

1.当前工作表全表空行批量删除;

2.当前工作簿全部工作表空行批量删除;

3.当前工作表行选择区域空行批量删除;

4.当前工作表列选择区域空值批量删除行。

要想活干得快,漂亮,还不加班,请记住一个WPS表格应用原则:凡是涉及批量或重复性操作,JSA(JavaScript for Application)宏代码都能帮你一键完成,秒速搞定!

今天,重点介绍当前工作表全表空行批量删除。其他几种删除空行的应用将陆续更新。

来吧,直接上代码。

WPS JSA】代码:

function 秒删工作表数据区域内所有空行() {    try {        // 获取活动工作表        let sheet = ActiveSheet;        // 获取数据区域(实际使用的范围)        let usedRange = sheet.UsedRange;        if (!usedRange) {            MsgBox("当前工作表没有数据!", jsInformation, "提示");            return;        }        // 如果只有一行或一列,特殊处理        if (usedRange.Rows.Count === 1 && usedRange.Columns.Count === 1) {            let cellValue = usedRange.Value2;            if (!cellValue || cellValue.toString().trim() === "") {                MsgBox("当前工作表没有数据!", jsInformation, "提示");            } else {                MsgBox("数据区域内只有单个非空单元格,无需删除!", jsInformation, "提示");            }            return;        }        // 关闭屏幕更新和自动计算,提高性能        Application.ScreenUpdating = false;        Application.Calculation = xlCalculationManual;        let deletedCount = 0;        let totalRows = usedRange.Rows.Count;        let totalCols = usedRange.Columns.Count;        // 从最后一行向前遍历(避免删除后索引变化)        for (let i = totalRows; i >= 1; i--) {            let rowIndex = usedRange.Row + i - 1// 实际行号            let isEmpty = true;            // 检查该行在数据区域内的所有单元格            for (let j = 1; j <= totalCols; j++) {                let cell = sheet.Cells(rowIndex, usedRange.Column + j - 1);                let cellValue = cell.Value2;                // 判断单元格是否有数据                if (cellValue !== null && cellValue !== undefined) {                    // 如果是数字,直接认为有数据                    if (typeof cellValue === 'number') {                        isEmpty = false;                        break;                    }                    // 如果是字符串,检查是否为空字符串或仅包含空格                    if (typeof cellValue === 'string' && cellValue.trim() !== "") {                        isEmpty = false;                        break;                    }                    // 如果是布尔值,认为有数据                    if (typeof cellValue === 'boolean') {                        isEmpty = false;                        break;                    }                    // 如果是日期或其他对象,认为有数据                    if (typeof cellValue === 'object' && cellValue !== null) {                        isEmpty = false;                        break;                    }                }            }            // 如果整行为空,删除该行            if (isEmpty) {                sheet.Rows(rowIndex).Delete();                deletedCount++;            }        }        // 恢复屏幕更新和自动计算        Application.ScreenUpdating = true;        Application.Calculation = xlCalculationAutomatic;        // 显示结果        if (deletedCount > 0) {            MsgBox("成功删除 " + deletedCount + " 个空行!", jsInformation, "完成");        } else {            MsgBox("数据区域内未发现空行!", jsInformation, "提示");        }    } catch (error) {        // 确保异常时恢复设置        Application.ScreenUpdating = true;        Application.Calculation = xlCalculationAutomatic;        MsgBox("执行出错: " + error.message, jsCritical, "错误");    }}

基本操作步骤:

方法一:

1.打开你的WPS表格文件。按下 Alt + F11(或点击「开发工具」→「WPS宏编辑器」),打开WPS JSA编辑器。

2.插入模块并粘贴代码。在编辑器左侧右键点击「项目」中的当前工作簿,选择「插入」→「模块」,将代码完整复制到右侧代码窗口中。

3.回到WPS表格界面,点击「开发工具」→「运行宏」,找到相应宏,点击「运行」即可。

方法二:

1.打开你的WPS表格文件。按下 Alt + F11(或点击「开发工具」→「WPS宏编辑器」),打开WPS JSA编辑器。

2.按Ctrk+O键(不是零),导入相应js文件,就导入了JSA宏代码。

3.回到WPS表格界面,点击「开发工具」→「运行宏」,找到相应宏,点击「运行」即可。

在示例中已保留完整代码,可以动手试一试,直观感受实际效果。如果觉得好用、对工作有所助益,欢迎点个赞,或转发分享给身边的同事和朋友。更期待你在留言区分享使用经验或遇到的问题,我们一起交流探讨。

每一次互动,都值得期待。让我们共同成长!

往期内容推荐:
【WPS JSA】对选择区域隔一行插n行
什么是WPS JSA?如何调用WPS宏编辑器?
【WPS JSA】工作表按字段拆分多个工作表
【WPS JSA】名字分组折行一次性生成分组名单
持续更新,上干货;不迷路,请多关注!
工欲善其事,必先利其器。
利器在手,天下我有。
JSA代码就是利器!
可下载以下资料查看测试
2026年06月27日-【WPS JSA】秒删工作表数据区域内所有空行.zip
温馨提示:
1.请下载示例,尝试运行宏,查看实际效果,多练习,理解掌握宏运行原理。
2.使用JSA宏代码对实际工作表进行操作前,一定一定一定做好原数据备份,防止操作不当等造成数据丢失。